Android 以编程方式唤醒设备
我想唤醒并解锁一个设备。然后,我想在用户收到来自Android 以编程方式唤醒设备,android,android-4.4-kitkat,unlock,Android,Android 4.4 Kitkat,Unlock,我想唤醒并解锁一个设备。然后,我想在用户收到来自Firebase的新消息时显示一个活动 我是在onResume()方法上写的 window = this.getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); window.addFlags(WindowManager.LayoutParams
Firebase
的新消息时显示一个活动
我是在onResume()方法上写的
window = this.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
这适用于API>19的设备。问题在于,在KitKat中,它要么什么也不做,要么唤醒屏幕但不解锁设备
我还在AndroidManifest.xml
中设置了正确的权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
同样在MyFirebaseMessagingService.class
中,我将以FLAG\u activity\u NEW\u TASK
作为标志启动一个活动
有人知道我错过了什么吗
谢谢你的帮助。好的,我找到了。我只是添加了一段代码,它就成功了
KeyguardManager manager = (KeyguardManager) this.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock lock = manager.newKeyguardLock("abc");
lock.disableKeyguard();
通过代码检查解锁设备的此链接