requestlocationupdate minTime不起作用

时间:2014-11-23 18:42:26

标签: android gps locationmanager

我在我的代码中使用这一行:

  

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();

这个应用程序设计运行了很长时间,我担心让位置管理员一直运行。在一段时间过后,删除监听器并再次请求位置是否安全?如果没有,有没有其他方法来处理这个?

1 个答案:

答案 0 :(得分:0)

将其注册是安全的,如果将其留在那里或者反复注册它对电池没有影响。
根据我的经验,多次注册到位置经理随着时间的推移会遇到很多问题, 如果最后收到的位置是在最后一分钟左右收到的,那么我要做的就是检查每隔几分钟。如果没有,请再次注册听众 顺便问一下,这么长时间你需要GPS什么? 查看其他位置提供商,他们可能只是采用较低的电池使用率来解决问题 Location Strategies