Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从广播接收机唤醒设备_Android_Broadcastreceiver_Alarm_Wakelock_Powermanager - Fatal编程技术网

Android 从广播接收机唤醒设备

Android 从广播接收机唤醒设备,android,broadcastreceiver,alarm,wakelock,powermanager,Android,Broadcastreceiver,Alarm,Wakelock,Powermanager,我有一个设置重复报警的应用程序,我希望它能唤醒设备,解锁键盘,做点什么,然后释放锁,准备在下次报警时再次重复。 它似乎可以工作,但手机仅在第一次触发警报时唤醒和解锁键盘,每次警报重复后,手机不会打开屏幕并解锁,尽管每次都会播放警报触发的音频文件。 我错过了什么 public class RepeatingAlarmWake extends BroadcastReceiver { @Override public void onReceive(Context context, In

我有一个设置重复报警的应用程序,我希望它能唤醒设备,解锁键盘,做点什么,然后释放锁,准备在下次报警时再次重复。 它似乎可以工作,但手机仅在第一次触发警报时唤醒和解锁键盘,每次警报重复后,手机不会打开屏幕并解锁,尽管每次都会播放警报触发的音频文件。 我错过了什么

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

您实际设置旋转警报的代码在哪里?无论如何,您应该使用RTC_WAKEUP,这样当您的闹钟响起时,设备将被唤醒