У меня есть служба, которая (в onCreate()
) раздувает полноэкранный макет (своего рода пользовательский экран блокировки). Я хотел бы отключить (скрыть) программные клавиши (возврат, домой, недавние) и, возможно, также строку состояния.
Я знаю о иммерсивном режиме но это работает в действии, пока у меня есть только служба. Я разработал его как сервис, поэтому предыдущее приложение по-прежнему работает без перебоев. Сервис выглядит так:
public void onCreate() {
super.onCreate();
LayoutInflater li = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.TYPE_TOAST,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.RIGHT | Gravity.TOP;
View vLockscreen = li.inflate(R.layout.layout_lock, null);
wm.addView(vLockscreen, params);
}
Как я могу добиться полной функциональности экрана блокировки?