Android 安卓:在固定间隔内从服务获取GPS位置
我希望在很长一段时间(3-4小时)内每3分钟从服务接收一次gps数据。 这一切都很好,但我有一些问题,哪种方法是最好的电池寿命Android 安卓:在固定间隔内从服务获取GPS位置,android,service,gps,alarmmanager,wakelock,Android,Service,Gps,Alarmmanager,Wakelock,我希望在很长一段时间(3-4小时)内每3分钟从服务接收一次gps数据。 这一切都很好,但我有一些问题,哪种方法是最好的电池寿命 启动服务,在创建服务时创建部分唤醒锁,启动每3分钟执行一次的计时器。从计时器内部获取位置数据。当服务停止时(3-4小时后),释放唤醒锁 使用AlarmManager每3分钟启动一次服务。在服务内部创建部分唤醒锁,获取位置数据,然后释放唤醒锁并停止服务 与#1相同,但通过requestLocationUpdates()方法设置间隔而不是计时器。(我不喜欢这种方法的原因是,
AFAIK min time between updates(更新间隔时间)只是一个提示,可能对给定设备实施,也可能不对给定设备实施。AFAIK min time between updates(更新间隔时间)只是一个提示,可能对给定设备实施,也可能不对给定设备实施。
// The minimum distance to change Updates in meters
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
// The minimum time between updates in milliseconds
private static final long MIN_TIME_BW_UPDATES = 1000; // 1 sec
LocationManager locationManager;
locationManager = (LocationManager) mContext.getSystemService(LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);