我想在過去幾天沒有多少運氣的情況下發現這個問題。基本上我的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訂閱流程?
你是否認爲通過處理程序啓動接收器? – 2013-09-17 06:15:50