如您所知,在“Viber”、“Line”等应用程序中,当设备接收到新消息时,新 Activity 将弹出并向用户显示消息,即使屏幕已锁定,但锁屏不会关闭。这甚至发生在带有 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);
还使用唤醒锁,但它只是打开屏幕而不显示我的应用程序。那么,我该怎么办?
最佳答案
您可以使用以下代码禁用锁屏。
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();
list 上的必要权限。
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
在 onPause() 或 onDestroy() 上。
wl.release();
关于android - 屏幕锁定时显示 Activity ,如 "Viber", "Line"应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16606503/