我有TrackingService组件,根据Crowdsourcing跟踪我所在城市的公交车位置.TrackingService在后台运行,然后将数据传输到服务器.我有一个Map Activity来显示总线的位置,在MainActivity中选择的用户(作为Filter).
应用程序启动时,后台TrackingService在MainActivity中启动.
我map在BroadcastReceiver的帮助下通知了有关更新的lcoation的活动,如下面的代码所示.正在检索数据到地图活动,但我面临解决问题的问题bReceiver.我想在应用程序进入后台或用户按下后退按钮时取消注册广播,但我收到以下错误:
我该如何解决?
错误:
08-27 22:43:04.594: E/AndroidRuntime(19588): FATAL EXCEPTION: main
08-27 22:43:04.594: E/AndroidRuntime(19588): Process: com.bustracker, PID: 19588
08-27 22:43:04.594: E/AndroidRuntime(19588): java.lang.RuntimeException: Unable to stop activity {com.bustracker/com.bustracker.Map}: java.lang.IllegalArgumentException: Receiver not registered: com.bustracker.Map$1@2483d256
08-27 22:43:04.594: E/AndroidRuntime(19588): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4156)
08-27 22:43:04.594: E/AndroidRuntime(19588): at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4219)
08-27 22:43:04.594: E/AndroidRuntime(19588): at android.app.ActivityThread.access$1500(ActivityThread.java:177)
08-27 22:43:04.594: E/AndroidRuntime(19588): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502)
08-27 22:43:04.594: E/AndroidRuntime(19588): at android.os.Handler.dispatchMessage(Handler.java:102)
08-27 22:43:04.594: E/AndroidRuntime(19588): at android.os.Looper.loop(Looper.java:145)
08-27 22:43:04.594: E/AndroidRuntime(19588): at android.app.ActivityThread.main(ActivityThread.java:5944)
08-27 22:43:04.594: E/AndroidRuntime(19588): at java.lang.reflect.Method.invoke(Native Method)
08-27 22:43:04.594: …Run Code Online (Sandbox Code Playgroud) android ×1