Как я могу сохранить свой экран включенным при использовании приложения, работающего в фоновом режиме?

#android #service #screen #wakelock #android-wake-lock

#Android #Обслуживание #экран #wakelock #android-wake-lock

Вопрос:

Мне нужно создать приложение, которое поддерживает экран включенным, даже когда приложение работает в фоновом режиме.

Я пробовал:

     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  

Но это работает только тогда, когда приложение запущено и не может запускаться как служба.

Я также пробовал wakelocks, но SCREEN_BRIGHT_WAKE_LOCK и FULL_WAKE_LOCK устарели. Единственная оставшаяся блокировка — это PARTIAL_WAKE_LOCK.

Есть ли какой-нибудь способ сохранить экран включенным с помощью PARTIAL_WAKE_LOCK , ACQUIRE_CAUSES_WAKEUP и некоторых циклов?

Честно говоря, у меня нет реального опыта работы с Java или разработкой приложений, и мне была поручена эта задача в качестве стажера, поэтому любая помощь будет оценена.

Ответ №1:

Ответ «нет», вы не можете. Как вы сказали, единственный способ сделать это — использовать устаревший api. В качестве альтернативы вы можете использовать действие с прозрачной темой, но если пользователь, например, нажмет кнопку «Домой», и действие больше не будет отображаться на переднем плане, вы все равно проиграете.

Комментарии:

1. Мой руководитель сказал мне, что в настоящее время они используют приложение для этого, но больше не могут из-за проблем с лицензированием, поэтому должен быть способ? Можно ли использовать устаревший API и создать приложение, которое все еще может работать на устройстве?

2. Да, вы можете использовать устаревший api, но вы не можете знать, изменится ли поведение в будущем или вызовы будут удалены из следующих выпусков. Вы можете использовать их, но без каких-либо гарантий в конце.