Есть ли альтернатива onBackPressed() для службы?

Я знаю, что службы не могут реализовать Back key press, и я понимаю, что такое логическое обоснование. Но есть app под названием SideBar (в Play Маркете), который реагирует на обратные нажатия клавиш. Это сервис, который добавляет представление как оверлей системы и удаляет вид, когда нажата обратная клавиша. Кто-нибудь может объяснить, как это делается?

Вот еще app, который делает это хорошо. Я просмотрел веб-страницы, но не нашел решения этой проблемы. Любые идеи?

Ответ 1

Возможно, это делается с помощью системных предупреждений - поэтому служба создает и управляет окном, которое добавляется в оконный менеджер, который имеет пользовательский callback.

Ответ 2

здесь это хороший пример для addview в Service, а также вы можете использовать прослушиватели, если хотите, в сервисах.

i также искал реализацию слушателей в сервисе и, наконец, нашел его.

Не забудьте добавить разрешение

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

и добавьте свой класс обслуживания

<application>
.
 .
  <service android:name=".YourServiceClass"></service>
 .
.
</application>

в AndroidManifest.xml.