Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于位置的android应用程序_Android_Locationmanager_Location Client - Fatal编程技术网

基于位置的android应用程序

基于位置的android应用程序,android,locationmanager,location-client,Android,Locationmanager,Location Client,我正在开发一个基于位置的android应用程序,需要在后台连续检索位置 我正在使用LocationManager获取位置更新 我已经编写了一个实现LocationListener并检索位置更新的服务 用户可以选择打开/关闭通知。若通知已关闭,则当我的应用程序进入后台时,我将调用stopService(),否则服务将继续运行,并且不会调用mLocManager.removeUpdates() 这意味着如果用户保持通知打开,服务将继续请求位置更新。我现在最担心的是电池耗电。我知道我必须在某个时候

我正在开发一个基于位置的android应用程序,需要在后台连续检索位置

  • 我正在使用LocationManager获取位置更新
  • 我已经编写了一个实现LocationListener并检索位置更新的服务
  • 用户可以选择打开/关闭通知。若通知已关闭,则当我的应用程序进入后台时,我将调用stopService(),否则服务将继续运行,并且不会调用mLocManager.removeUpdates()
这意味着如果用户保持通知打开,服务将继续请求位置更新。我现在最担心的是电池耗电。我知道我必须在某个时候停止请求更新,但我的应用程序需要在后台连续接收位置。有谁能告诉我,当我使用NETWORK_PROVIDER并每隔5分钟请求更新时,平均电池位置更新会消耗多少电量

我还应该使用LocationClient而不是LocationManager来提高性能吗?或者,如果我继续使用LocationManager,可以吗


如果有人能给我一个建议,告诉我如何在应用程序中高效地接收位置更新,这将是一件非常棒的事情,因为应用程序持续需要位置数据。

你必须记住,LocationClient是Google Play服务的一部分,所以它只在平台包括Google Play Store的设备上可用。一些设备可能正在使用非标准版本的Android,您将无法访问LocationClient。

LocationClient是Google Play服务的一部分,我相信Location Client可以更高效地以最小的能量(电池消耗)获得更高的准确度

并参考API:)


使用
网络供应商请求位置更新,并且每5分钟更新一次位置就可以了。但是,如果将其与
GPS\U提供商
进行比较,定位精度会降低,但GPS需要更大的功率。作为我昨天的个人经历,我的GPS每10秒持续运行3个小时跟踪我的位置,使用Nexus 4时,我的电池消耗了20%。如果你接受与否,你可以自己选择


但正如其他人所提到的,使用FusedLocation提供程序即
LocationClient
是解决精度与电池耗电问题的最佳选择

看看下面的链接,我已经在使用这个服务在后台检索位置了。但我需要在后台不断接收位置更新,所以我不会调用stopService(),我知道这不是一个好的做法,会耗尽电池电量。有没有什么有效的方法可以在后台连续接收位置更新而不消耗太多的电池?如果有人能建议我一种有效的方法来请求不消耗太多电池的连续更新,那就太好了。是的,我知道这一点。这就是我使用LocationManager的原因。我现在最担心的是电池耗电,据我所知,LocationClient比LocationManager耗电少,这就是我计划切换到LocationClient的原因。Location Manager是在Android SDK中引入的,可以用作Android的一项功能。位置客户端是Google Play SDK的一部分,在最近的Google IO 2013中引入。可以理解的是,由于定位客户端是最新的,它可以更高效地以最小的能量(电池消耗)获得更高的准确度。感谢您的回答。我仍然不知道该用什么。在得出结论之前,我们必须和几个人讨论这个问题。是的。。这是做某事的最好方法。。询问开发人员他们喜欢什么以及为什么喜欢。这样你会学到很多东西。