我有一個檢測位置的代碼,我只想工作2分鐘。僅在特定時間運行腳本
當我啓動start()方法的腳本必須工作大約2分鐘。
問題在那裏,如何運行我的腳本只在特定的時間。 我用這個代碼但沒有正確運行。
不從定時器擋火()()方法。時間表()
public class a implements LocationListener{
private LocationManager locationManager;
private String provider;
private Location lastloc;
private Context _context;
public a(Context context){
_context = context;
}
public void start(){
locationManager = (LocationManager) _context.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1, (LocationListener) this);
new Timer().schedule(
new TimerTask(){
public void run() {
stop();
}
}
,System.currentTimeMillis(), 2*60*1000);
}
public void stop(){
Log.d("states","stop");
locationManager.removeUpdates((LocationListener) this);
}
@Override
public void onLocationChanged(Location location) {
Log.d("states", "onLocationChanged()");
lastloc = location;
}
@Override
public void onProviderDisabled(String arg0) {
}
@Override
public void onProviderEnabled(String arg0) {
}
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
}
}
你的代碼的行爲如何?它會在2分鐘後繼續更新還是在此之前停止更新? – hasan83 2015-03-25 07:50:23
它在2分鐘後不斷更新並且不停止。 – saeid 2015-03-25 08:23:28
我相信你的問題是不是在這個代碼 – hasan83 2015-03-25 08:48:09