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

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
Hummer_hard
Сообщения: 12
Зарегистрирован: 06 апр 2015, 15:36

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

Сообщение Hummer_hard » 16 апр 2015, 17:46

Подскажите в какую сторону копать.

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

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 17 апр 2015, 18:30

Этого должно быть достаточно:[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]
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Hummer_hard
Сообщения: 12
Зарегистрирован: 06 апр 2015, 15:36

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

Сообщение Hummer_hard » 20 апр 2015, 10:32

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]

Ответить