在我的Android应用程序中,我使用gps激活修复位置:
mLManager.requestLocationUpdates (LocationManager.GPS_PROVIDER, 30000, 0, mLListener);
这样每隔30秒GPS就会激活并寻找位置。 我想要的是这个: gps第n次被激活,当我走进建筑物时,我无法确定我的位置,因此他无限期地寻找位置。如果位置在60秒内没有固定,我可以停止吗?我怎样才能做到这一点? 提前谢谢!
答案 0 :(得分:1)
public boolean getLocation(Context context) {
mLManager.requestLocationUpdates (LocationManager.GPS_PROVIDER, 30000, 0,mLListener);
timer1=new Timer();
timer1.schedule(new GetLastLocation(), 60000);
return true;
}
LocationListener mLListener = new LocationListener() {
public void onLocationChanged(Location location) {
timer1.cancel();
}
};
class GetLastLocation extends TimerTask {
@Override
public void run() {
}
}
它查找一个位置,如果找不到任何位置,并且60秒到期,那么计时器将会执行一个动作。如果确实找到了位置,它将取消定时器。