我有一個線程,試圖獲取用戶的位置。handleMessage不叫
當收到位置「handler.sendMessage(msg)」被調用時,它返回true,但handleMessage永遠不會被調用。
logcat中沒有錯誤或警告。
代碼:
public class LocationThread extends Thread implements LocationListener {
// ... Other (non-relevant) methods
@Override
public void run() {
super.run();
Looper.prepare();
mainHandler = new Handler(Looper.myLooper()) {
@Override
public void handleMessage(Message msg) {
// This method is never called
}
};
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 0, this);
Looper.loop();
}
@Override
public void onLocationChanged(Location location) {
// SendMessage is executed and returns true
mainHandler.sendMessage(msg);
if (mainHandler != null) {
mainHandler.getLooper().quit();
}
locationManager.removeUpdates(this);
}
}
你寫onlocation被改變檢查的設備...... –
你嘗試具有的handleMessage方法退出循環? – Fildor
我剛剛嘗試過,但沒有什麼區別。 –