Я довольно новичок в программировании на Android, но достаточно знаком с C / C ++ и Linux, чтобы немного программировать. В моем следующем проекте я должен запустить некоторое собственное приложение (приложения Linux) под Android.
Исполняемый файл, который я вызываю, использует устройство кадрового буфера для вывода экрана. Когда я пытаюсь просто вызвать программу, вывод программы теряется, потому что Android перерисовывает экран, перезаписывая кадровый буфер.
Чтобы предотвратить это, я создал «заглушающую» программу для Android, которая на самом деле не имеет оконного дизайна (только черный экран), но вызывает мою программу. Это работает хорошо в некоторой степени; однако всякий раз, когда я поворачиваю экран или появляется какое-либо уведомление о татуировке, Android перерисовывает экран, и мы возвращаемся к кадру № 1 ...
Таким образом, я задался вопросом, есть ли API «низкого уровня» или что-то, что может вообще запретить Android использовать экран, пока я его выпускаю. Вкратце, как WakeLock, предотвращающий спящий телефон, я хочу «блокировку», которая полностью блокирует экран (устройство кадрового буфера). Кто-нибудь знает, как мне добиться такой функциональности?
PS: Это может иметь какое-то отношение к SurfaceFlinger, но я где-то читал, что он не публикует API на уровне пользователя.