Существует приложение для экстренных случаев под названием Medical Id. У него есть замечательная функция, в которой он показывает уведомление на заблокированном экране. Пользователь может просто дважды нажать на уведомление, чтобы открыть действие. Для уведомлений других приложений, если пользователь коснется, сначала будет предложено разблокировать. Я ищу ту же функцию, но не могу добиться того же. Я попытался добавить флаги к прикрепленным окнам.
@Override
public void onAttachedToWindow()
{
super.onAttachedToWindow();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON &
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD &
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED &
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON &
WindowManager.LayoutParams.FLAG_FULLSCREEN
);
}
Добавлено showonlockscreen к действию в манифесте, но оно запрашивает разблокировку экрана перед открытием действия. Взгляните на медицинскую карту для ясности. Я не знаю, что они используют для обхода разблокировки. Настройки телефона для уведомлений общедоступны в моем телефоне. Удивительно то, что даже если настройки уведомлений вашего телефона являются частными, уведомление о медицинском удостоверении будет присутствовать там, даже если никаких других уведомлений нет. Любые зацепки полезны.