Страница 1 из 1

Activity поверх блокировки экрана

Добавлено: 16 апр 2015, 17:46
Hummer_hard
Подскажите в какую сторону копать.

Требуются выводить Activity поверх блокировки экрана, аля будильник. Ни как не могу понять это Activite или все таки widjet на весь экран.
Любые предложения, буду очень благодарен.

Re: Activity поверх блокировки экрана

Добавлено: 17 апр 2015, 18:30
KamiSempai
Этого должно быть достаточно:[syntax=java5] @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "My Tag");
mWakeLock.acquire();
Window window = this.getWindow();
window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
window.addFlags(LayoutParams.FLAG_TURN_SCREEN_ON);
}[/syntax]

Re: Activity поверх блокировки экрана

Добавлено: 20 апр 2015, 10:32
Hummer_hard
KamiSempai писал(а):Этого должно быть достаточно:[syntax=java5] @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "My Tag");
mWakeLock.acquire();
Window window = this.getWindow();
window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
window.addFlags(LayoutParams.FLAG_TURN_SCREEN_ON);
}[/syntax]

Большое спасибо, все заработало после небольшой допилки (но это связанно с особенностями моего кода). Важное замечание (для тех кто будет пользоваться данной темой) Ativity к которой применяется код не должно быть стиль=диалог иначе не работает.
Мой код:
[syntax=java5] @Override
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "My Tag");
mWakeLock.acquire();
Window window = this.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
[/syntax]