我正在制作一个需要不时更新用户位置的应用程序。所以我做了一个服务,我每5分钟更新一次用户位置。我的应用程序运行完美,但问题是它消耗了太多的电池电量。我可以修复它。
locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
listener = new MyLocationListener();
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 300000,200, listener);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 300000, 200, listener);
答案 0 :(得分:0)
每5分钟更新一次用户位置
有些设备会因为GPS接收器(硬件)开启而非常快地吸入电池。在这种情况下,你不能做太多,因为它不是你可以影响的东西。您应首先在更多设备上检查您的应用程序,以确保您的应用程序不会暴露此缺陷。
答案 1 :(得分:0)
要在仍获得位置更新的同时降低功耗,请仅使用NETWORK_PROVIDER。该提供商将使用蜂窝和Wi-Fi无线电信号的三边测量来检索用户的当前位置。然而,缺点是检索到的位置不那么精确,并且在没有任何蜂窝或Wi-Fi信号的农村地区,您根本不会获得位置。在这种情况下,您可以发出GPS_PROVIDER请求。