2012-02-21 3 views
0

Мое приложение должно предоставлять предупреждение пользователю независимо от того, где находится пользователь. Кроме того, пользователь должен иметь возможность нажать на предупреждение, чтобы вернуть его в мое приложение, которое будет выполнять функцию.Запуск PopupWindow из службы и задачи Async

Я не могу использовать Toast, потому что вы не можете щелкнуть Toast, насколько мне известно. Я пытаюсь запустить PopupWindow вместо этого с пользовательским представлением. Однако, когда я пытаюсь показать PopupWindow, я получаю следующую ошибку:

02-21 01: 07: 41.481: E/AndroidRuntime (1707): android.view.WindowManager $ BadTokenException: не удалось добавить окно-токен null недействителен; работает ли ваша деятельность?

PopupWindow готов изнутри метода onStart службы, но AsyncTask работает в фоновом режиме, обновляет представление и пытается запустить PopupWindow. Можно ли запустить PopupWindow из AsyncTask? ЕСЛИ так, как?

В мой манифест уже добавлено следующее разрешение.

использует разрешение-андроид: имя = «android.permission.SYSTEM_ALERT_WINDOW»

ответ

1

Вы можете использовать NotificationManager вместо того, чтобы бросить уведомления, и когда пользователь нажимает на уведомлениях, он запускает намерение запустить приложение ,

http://developer.android.com/reference/android/app/NotificationManager.html

http://developer.android.com/guide/topics/ui/notifiers/notifications.html

+0

Благодаря Морис, я постараюсь это. Можете ли вы создать настраиваемое представление, которое всплывало бы поверх текущей активности пользователя с помощью NotificationManager? – sebeticus

+0

Не слишком уверен в этом, короче говоря, если вы можете запустить пользовательский вид с помощью намерения, вы сможете достичь того, что вам нужно. – Maurice