繰り返しアラームを設定するアプリケーションがあり、デバイスをスリープ解除し、キーガードのロックを解除し、何かを実行してから、次のアラームで再度繰り返す準備ができているロックを解除したいと思います。動作しているように見えますが、ハンドセットは、アラームが最初にトリガーされたときにのみキーガードをスリープ解除してロックを解除します。その後、アラームが繰り返されるたびに、画面はオンにならず、ロックは解除されませんが、アラームがトリガーするオーディオファイルは毎回再生されます。私は何が欠けていますか?
public class RepeatingAlarmWake extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "Wake up!");
wl.acquire();
KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("TAG");
keyguardLock.disableKeyguard();
PlayAudio2.INSTANCE.PlayAudio();
wl.release();
}
}