2012-02-21 2 views
0

내 응용 프로그램은 사용자가 현재 위치에 상관없이 사용자에게 경고를 제공해야합니다. 또한 사용자는 경고를 클릭하여 기능을 수행 할 응용 프로그램으로 복귀시킬 수 있어야합니다.서비스 및 비동기 작업에서 PopupWindow 실행

필자가 알고있는 토스트를 클릭 할 수 없기 때문에 토스트를 사용할 수 없습니다. 대신 사용자 지정보기를 사용하여 PopupWindow를 시작하려고합니다. 그러나 PopupWindow를 표시하려고하면 다음 오류가 표시됩니다.

02-21 01 : 07 : 41.481 : E/AndroidRuntime (1707) : android.view.WindowManager $ BadTokenException : 창 - 토큰을 추가 할 수 없습니다. null은 유효하지 않습니다. 당신의 활동은 실행 중입니까?

PopupWindow는 서비스의 onStart 메서드 내에서 준비되지만 백그라운드에서 실행중인 AsyncTask는 뷰를 업데이트하고 PopupWindow를 시작하려고합니다. AsyncTask에서 PopupWindow를 시작할 수 있습니까? 그렇다면 어떻게?

다음 권한이 이미 내 매니페스트에 추가되었습니다.

는 사용-권한 안드로이드 : 이름 = "android.permission.SYSTEM_ALERT_WINDOW을"

답변

1

당신은 알림을 던져 대신 티피 케이션을 사용할 수 있으며 사용자가 알림을 클릭하면, 그것은 당신의 응용 프로그램을 실행하는 의도를 시작합니다 .

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

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

+0

감사합니다 모리스, 나는 그것을 밖으로 시도 할 것이다. NotificationManager를 사용하여 사용자의 현재 활동에 대해 팝업으로 표시 할 사용자 정의보기를 만들 수 있습니까? – sebeticus

+0

간단히 말해서, 의도를 통해 사용자 지정보기를 시작할 수 있다면 필요한 것을 얻을 수 있어야합니다. – Maurice