Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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 8后台服务中的位置更新限制_Android_Service_Location_Background Service_Android 8.0 Oreo - Fatal编程技术网

Android 8后台服务中的位置更新限制

Android 8后台服务中的位置更新限制,android,service,location,background-service,android-8.0-oreo,Android,Service,Location,Background Service,Android 8.0 Oreo,我有一个后台服务,每12分钟更新一次位置。我们希望每5-6分钟测试一次位置更新,但在Android文档中我们发现: 为了降低功耗,Android 8.0(API级别26) 限制后台应用程序检索用户当前文件的频率 地点。应用程序每次只能接收几次位置更新 小时 要接收更新的服务中的代码: mLocationCallback = new LocationCallback() { @Override public void onLocationResult(Lo

我有一个后台服务,每12分钟更新一次位置。我们希望每5-6分钟测试一次位置更新,但在Android文档中我们发现:

为了降低功耗,Android 8.0(API级别26) 限制后台应用程序检索用户当前文件的频率 地点。应用程序每次只能接收几次位置更新 小时

要接收更新的服务中的代码:

    mLocationCallback = new LocationCallback() {
        @Override
        public void onLocationResult(LocationResult locationResult) {
            Location location = locationResult.getLastLocation();
            //...
        }
    };

    mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);

    mLocationRequest = new LocationRequest();

    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    mLocationRequest.setInterval(TIME_TO_CHECK_LOCATION);
    mLocationRequest.setFastestInterval(TIME_TO_CHECK_LOCATION);
    mLocationRequest.setMaxWaitTime(TIME_TO_CHECK_LOCATION);

    mFusedLocationClient.requestLocationUpdates(mLocationRequest, mLocationCallback, null);
有人使用安卓8在后台服务中测试过位置更新的限制吗?


限制为每小时固定次数?

如果您使用的是fused location provider,并且如果另一个应用程序正在前台请求位置,或者它正在使用前台服务请求位置,则您的应用程序将获得与此应用程序相同的位置。如果没有其他应用程序请求位置,并且您将应用程序放在后台,根据我的真实设备测试,您可以期望在三星Galaxy S8(运行安卓8.0)上每3分钟一个新位置,在谷歌Pixel(运行安卓8.1)上每5分钟一个新位置。看起来这不是一个非常稳定的数字。您可以使用前台服务收集位置信息,这没有任何限制。

对于运行Android的设备,它在一小时内收集3-4次位置信息8@lakshman.pasala你有这方面的消息来源吗?