2013-04-10 48 views
1

在主要活動在onCreate方法我註冊broadcastReciver但在關閉應用程序,我總是得到這個錯誤:當我關閉應用程序,我不想註銷接收器關閉Android應用程序破壞廣播接收機

@429d47e0 that was originally registered here. Are you missing a call to unregisterReceiver()? 
04-10 23:40:48.161: E/ActivityThread(20989): at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:793) 
04-10 23:40:48.161: E/ActivityThread(20989): at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:593) 
04-10 23:40:48.161: E/ActivityThread(20989): at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1274) 
04-10 23:40:48.161: E/ActivityThread(20989): at android.app.ContextImpl.registerReceiver(ContextImpl.java:1261) 
04-10 23:40:48.161: E/ActivityThread(20989): at android.app.ContextImpl.registerReceiver(ContextImpl.java:1255) 
04-10 23:40:48.161: E/ActivityThread(20989): at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:372) 

。我能做什麼?我以編程方式註冊接收者。

+0

你甚至聽過什麼? – 2013-04-10 21:51:33

+0

這是不是自解釋? – 2013-04-10 21:51:49

+0

@ pietmau它是?所以告訴我 – 2013-04-10 21:53:46

回答

4

when I close application I don't want to unregister receiver

然後,您不應該通過registerReceiver()註冊它。改爲通過<receiver>元素將其註冊到清單中。然後,無論您的應用程序是否正在運行,它都可用。

+0

這是一種選擇,但我想註冊接收器,當我點擊ON按鈕,所以不是所有的時間。 – senzacionale 2013-04-11 04:35:50

+0

@senzacionale:您仍需要在清單中註冊接收者。您可以使用'PackageManager'和'setComponentEnabledSetting()'來控制它是否處於活動狀態,這取決於您按下按鈕的時間。 – CommonsWare 2013-04-11 11:20:41

相關問題