Есть ли способ обработки ключевых событий в виджете / сервисе? - PullRequest
2 голосов
/ 06 января 2012

Я бы хотел обработать ключевые события volume up и volume down в моем виджете приложения.Это действительно должно происходить в app widget или в Сервисе, а не в Деятельности (должен отображаться домашний экран).

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

Итак, мой вопрос, если я ошибаюсь, и есть ли возможность получить keyEvents или, возможно, один, чтобы сделать активность невидимой?

Ответы [ 2 ]

2 голосов
/ 06 января 2012

Если под «виджетом» вы подразумеваете «виджет приложения», то нет, вы не можете отвечать на ключевые события из виджета приложения.

0 голосов
/ 06 января 2012

Я нашел трюк.Это на самом деле не самое лучшее, но в моем случае я могу его использовать.

С назначением тем

 android:theme="@android:style/Theme.Dialog" 

или

 android:theme="@android:style/Theme.Translucent.NoTitleBar" 

в манифесте Android, этовозможно иметь действие, которое выглядит как диалог или является прозрачным.Итак, домашний экран виден, и в Activity я могу получить keyEvents.

Хотя невозможно, чтобы пользователь мог взаимодействовать с домашним экраном во время выполнения действия, но в моем случае это не так.Т обязательно нужно.

...