1. Looper.prepare();
2. Handler mHandler = new Handler() {
3. public void handleMessage(Message msg) {}
4. };
5. mHandler.post(gpsLocationListenerThread);
6. Looper.loop();
7.
我打電話給AsyncTask
的Thread
類。當我使用1-6代碼調用它時,它會創建Thread
並運行它。但AsyncTask
得到了滿足。我需要運行另一個Thread
而不會阻止我的AsyncTask
。如何使它發生?如何退出活套?
public GPSLocationListenerThread(Context context){
this.context = context;
mlocManager = (LocationManager)context.getSystemService(context.LOCATION_SERVICE);
mlocListener = new GPSLocationListener();
}
public void setHandler(Handler _h){
this.mHandler = _h;
}
public void run(){
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 100, mlocListener); // in 1000 mseconds or in 100m change
mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 100, mlocListener); // in 1000 mseconds or in 100m change
//mHandler.getLooper().quit();
while (DataHolder.getDataHolderObject().isTripStarted()){
try {
this.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
mlocManager.removeUpdates(mlocListener);
}
9倍於10無需從AsyncTask調用線程您想要做什麼? – njzk2
我需要啓動GPS位置監聽器取決於其他一些變量轉換器。 AsyncTask正在聆聽這些轉換器。但GPS Litener無法從AsncTask啓動。 – dinesh707
如果你退出looper,你的線程將被停止。 – Yury