Показать активность, когда экран заблокирован как "Viber", "Line" appliaction
Как вы знаете, в таких приложениях, как "Viber", "Line" и..., когда новое сообщение получено устройством, всплывет новое действие и покажет сообщение пользователю, даже экран заблокирован, но экран блокировки не уволят Это происходит даже в "Xperia U" с android 2.3.7. Я хочу сделать то же самое в своем приложении, и я также попытался добавить следующий флаг в мое окно:
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);
и также использовать wakelock, но он просто включает экран, не показывая мое приложение. И что же мне делать?
1 ответ
Вы можете отключить свой экран блокировки, используя следующий код.
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" />
На onPause() или onDestroy().
wl.release();