如您所知,在“Viber”,“Line”等应用程序中,当设备接收到新消息时,新活动将弹出并向用户显示消息,即使屏幕已锁定但是锁屏不会解雇。这甚至发生在Android 2.3.7的“Xperia U”中。我想在我的应用程序中做同样的事情,我也尝试将以下标志添加到我的窗口:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
并且还使用唤醒锁,但它只是打开屏幕而不显示我的应用程序。那么,我该怎么办?
答案 0 :(得分:0)
您可以使用以下代码停用锁屏。
PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
| PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.ON_AFTER_RELEASE, "INFO");
wl.acquire();
KeyguardManager km = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
kl = km.newKeyguardLock("name");
kl.disableKeyguard();
清单上的必要许可。
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
on onOause()或onDestroy()。
wl.release();