se8820726
پنج شنبه 06 فروردین 1394, 01:10 صبح
سلام من یه اسکریپت موقعیت یابی دارم و میخوام هروقت که اجرا شد فقط به مدت 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(LocationMan ager.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) {
}
}
وقتی متد start() فراخوانی بشه اسکریپ شروع به کار میکنه
حالا میخوام بعد از گذشت 2 دقیقه متد stop() درونش رو اجرا کنم ولی نمیدونم چجوری؟
از newTimer().schedule استفاده کردم که جواب نمیده :(
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(LocationMan ager.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) {
}
}
وقتی متد start() فراخوانی بشه اسکریپ شروع به کار میکنه
حالا میخوام بعد از گذشت 2 دقیقه متد stop() درونش رو اجرا کنم ولی نمیدونم چجوری؟
از newTimer().schedule استفاده کردم که جواب نمیده :(