2011-05-21 26 views
0

我想在過去幾天沒有多少運氣的情況下發現這個問題。基本上我的GPS註冊偵聽像這樣來GPS事件:在GPS管理器上weired android錯誤

private void registerForNotifications(int gpsActivationIntervalMillis) { 
    // gps satellite based 
    gpsLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, gpsActivationIntervalMillis, AppSettings.getMinimumDistance(),gpsLocationListener); 
    gpsLocationManager.addGpsStatusListener(gpsLocationListener); 
} 

並將其與此代碼註銷:

private void unRegisterForNotifications() { 
    gpsLocationManager.removeUpdates(gpsLocationListener); 
    gpsLocationManager.removeGpsStatusListener(gpsLocationListener);   
} 

這是一個後臺服務完成並運行完美。但是當我嘗試通過以不同的間隔取消註冊&來更改間隔時:

private void restart(){ registerForNotification(interval); unRegisterForNotification(); }

,我碰上這樣:

05-21 13:12:56.354:WARN /的MessageQueue(7290):處理程序{460f47a8}上的死線程發送消息到一個處理程序 05- 21 13:12:56.354:WARN /的MessageQueue(7290):了java.lang.RuntimeException:處理程序{460f47a8}上的死線程發送消息到一個處理程序 05-21 13:12:56.354:WARN /的MessageQueue(7290):在android.os.MessageQueue.enqueueMessage(MessageQueue.java:179) 05-21 13:12:56.354:WARN/MessageQueue(7290):at android.os.Handler.sendMessageAtTime(Handler.java:457) 05- 21 13:12:56.354:WARN/MessageQueue(7290):在android。 os.Handler.sendMessageDelayed(Handler.java:430) 05-21 13:12:56.354:WARN /的MessageQueue(7290):在android.os.Handler.sendMessage(Handler.java:367) 05-21 13: 12:56.354:WARN /的MessageQueue(7290):在android.location.LocationManager $ ListenerTransport.onLocationChanged(LocationManager.java:157) 05-21 13:12:56.354:WARN /的MessageQueue(7290):在android.location。 ILocationListener $ Stub.onTransact(ILocationListener.java:58) 05-21 13:12:56.354:WARN /的MessageQueue(7290):在android.os.Binder.execTransact(Binder.java:288) 05-21 13: 12:56.354:WARN /的MessageQueue(7290):在dalvik.system.NativeStart.run(本機方法) 塊引用

看起來升艾克一些死活動/處理程序的問題,但不是機器人應該處理這個?我應該如何正確地更改gps訂閱流程?

回答

0

好吧,我找到了問題的原因。我的活動中有一個重啓按鈕,可以正確重啓服務。但是,當我的AlarmListener嘗試從後臺重新啓動它時,它會啓動問題。我錯過了應該總是從循環線程調用'註冊'方法的觀點!解決方法很簡單,只需將重新啓動作業發佈到附加到主線程的處理程序,而不是直接從AlarmManager線程調用restart方法。

+0

你是否認爲通過處理程序啓動接收器? – 2013-09-17 06:15:50