我有一个应用程序设置重复警报,我希望它唤醒设备,解锁键盘锁,做一些事情,然后释放锁定准备好在下一次警报时再次重复。 它似乎工作但手机只在第一次触发警报时唤醒并解锁键盘,每次警报重复之后,它不会打开屏幕并解锁,尽管警报触发的音频文件每次都会播放。 我错过了什么?
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();
}
}
答案 0 :(得分:0)
您实际设置旋转警报的代码在哪里?无论如何,你应该使用RTC_WAKEUP,以便在闹钟响起时设备将被唤醒。