为ACCEAIRE_CAUSS_WAKEUP指定有效的唤醒锁定级别



我正在尝试从线程中唤醒以下代码的线程:

PowerManager powerManager = (PowerManager) GydeApplication.getAppContext().getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP,
        "MyWakelockTag");
wakeLock.acquire(10*60*1000L /*10 minutes*/);

并添加了以下权限:

<uses-permission android:name="android.permission.WAKE_LOCK" />

,但获取以下错误:

Must specify a valid wake lock level.

wakelock创建。

FULL_WAKE_LOCK
PARTIAL_WAKE_LOCK
SCREEN_BRIGHT_WAKE_LOCK
SCREEN_DIM_WAKE_LOCK

您需要指定

之一

除了sahdevrajput74的答案: FULL_WAKE_LOCK被弃用为API级别17。使用此处建议的WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON代替。

最新更新