Лучший способ асинхронно запросить пользователя выполнить действие? - PullRequest
1 голос
/ 07 августа 2011

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

Из того, что я читал, обычным способом было бы использование активности в качестве диалога, поэтому всякий раз, когда происходит событие, диалоговое окно отображается как всплывающее окно (даже когда мое приложение не активно). Это выглядит хорошо, хотя я все еще не очень убежден, так как считаю это слишком "навязчивым".

Я думал об использовании настраиваемого уведомления с помощью RemoteViews. Из того, что я прочитал, все выглядит хорошо, хотя я не смог увидеть, как включить кнопки в такое уведомление. Я попытался добавить кнопку в пользовательский макет и передать ее на удаленный просмотр. Несмотря на то, что кнопка отображается в расширенном представлении, всякий раз, когда я нажимаю на нее, щелкается все уведомление. Мне было интересно, можно ли как-нибудь создать уведомление с двумя кнопками и соответственно отреагировать?

В противном случае, есть лучшая альтернатива?

Заранее спасибо!

1 Ответ

1 голос
/ 07 августа 2011

Если вы хотите, чтобы он был ненавязчивым, вы можете создать BackgroundService, который отображает или изменяет значок уведомления (в верхней панели), когда требуется ввод пользователя. Вы также можете включить короткую вибрацию или звуковой сигнал в соответствии с предпочтениями пользователя. Затем пользователь просто перетаскивает панель уведомлений и щелкает значок приложения, который затем может отображать любой вид активности.

Кроме того, если ваше приложение не будет самым верхним приложением AFAIK, вы должны создать BackgroundService, потому что это единственный способ не дать Android убить ваше приложение, когда оно не активно (любое приложение, которое не является самым верхним, является кандидат на приостановку или увольнение при нехватке ресурсов, AFAIK).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...