【发布时间】:2014-11-23 18:42:26
【问题描述】:
我在我的代码中使用了这一行:
locationmanager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 20000, 1, listener);
这适用于 Jellybean 设备及更高版本。我开始使用线程每 20 秒启动一次更新。这种方式对 GPS 有影响吗,因为它会一直打开和关闭它?
new Thread(new Runnable(){
public void run() {
locationmanager.removeUpdates(listener);
try {
Thread.sleep(20000);
} catch (InterruptedException e) {
}
if(enapled)
runOnUiThread(new Runnable() {
public void run() {
locationmanager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 0, 1, listener);
}
});
}
}).start();
这个应用程序是为长时间运行而设计的,我担心让 locationmanager 一直运行。一段时间后删除侦听器并再次请求位置是否安全?如果没有,有没有其他方法可以解决这个问题?
【问题讨论】:
-
我不太明白你的问题在这里......
-
在时间过去后移除监听器并再次请求位置是否安全。因为这个应用程序旨在运行很长时间 - 几天。如果他们是另一种方式?
-
你为什么担心让它继续运行。电池?
-
是的,电池寿命在这里很重要。
标签: android gps locationmanager