0

繰り返しアラームを設定するアプリケーションがあり、デバイスをスリープ解除し、キーガードのロックを解除し、何かを実行してから、次のアラームで再度繰り返す準備ができているロックを解除したいと思います。動作しているように見えますが、ハンドセットは、アラームが最初にトリガーされたときにのみキーガードをスリープ解除してロックを解除します。その後、アラームが繰り返されるたびに、画面はオンにならず、ロックは解除されませんが、アラームがトリガーするオーディオファイルは毎回再生されます。私は何が欠けていますか?

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(); 
    }
}
4

1 に答える 1

0

実際に回転アラームを設定しているコードはどこにありますか? とにかく、アラームが鳴ったときにデバイスが起動するように、RTC_WAKEUP を使用する必要があります。

于 2012-07-19T08:19:44.327 に答える