1

アプリが通知を送信するときに画面をオンにしようとしています。現在、acquire点滅WakeLockは非常に速く、ほとんど目立たない程度です。私が知る限り、フラグは正しく設定されています。AQUIRE_CAUSES_WAKEUP画面をオンにしON_AFTER_RELEASEて(ユーザーアクティビティタイマーを突く)離すとオンのままにします-そうしないと、すぐにオフになることを理解しています...誰か洞察を得ましたか?

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "TAG");
if(mTurnScreenOn) {
        wl.acquire();
        Log.d("TAG", "WakeLock Acquired");
        if(pm.isScreenOn()) { Log.d("TAG", "Screen is on");
        } else { Log.d("TAG", "Screen is off"); }
}

mNotificationManager.notify(1, notification);

if(mTurnScreenOn) { //release the wakelock if needed
        wl.release();
        Log.d("TAG", "WakeLock Released");
        if(pm.isScreenOn()) { Log.d("TAG", "Screen is on");
        } else { Log.d("TAG", "Screen is off"); }
}
4

1 に答える 1

0

の値を設定している場合mTurnScreenOn、ウェイクロックを取得しているコードを見て、mTurnScreenOn==true同じ条件でそれを解放しています。

詳細については、これを参照してください

于 2011-11-25T05:09:12.367 に答える