Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.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 fusedLocation API间隔与关闭GPS无线电有何关系_Android_Gps_Fusedlocationproviderapi_Android Fusedlocation - Fatal编程技术网

Android fusedLocation API间隔与关闭GPS无线电有何关系

Android fusedLocation API间隔与关闭GPS无线电有何关系,android,gps,fusedlocationproviderapi,android-fusedlocation,Android,Gps,Fusedlocationproviderapi,Android Fusedlocation,让我们假设我使用Android融合位置API来请求高精度的位置报告。比如说, mLocationRequest = new LocationRequest(); mLocationRequest.setInterval(FASTEST_UPDATE_INTERVAL*2); mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL); mLocationRequest.setPriority(Locat

让我们假设我使用Android融合位置API来请求高精度的位置报告。比如说,

    mLocationRequest = new LocationRequest();
    mLocationRequest.setInterval(FASTEST_UPDATE_INTERVAL*2);
    mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL);
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

    LocationServices.FusedLocationApi
                .requestLocationUpdates(mGoogleApiClient, mLocationRequest, this)
这会导致我的位置侦听器被调用到每一个最快的更新间隔。如果我将最快更新间隔设置为较短,我知道在位置更新之间GPS无线电不会关闭。我从各种渠道知道这一点,如和

我的问题是,最快更新间隔的最小值是多少,这将导致GPS无线电在位置更新之间关闭

我预计这个问题不会有一个明确的答案,这将取决于手机硬件、谷歌Play版本以及可能的其他硬件和软件因素。尽管如此,一个笼统的答案还是有帮助的

这个问题很重要,因为我对使用高精度定位感兴趣,但要尽量减少电池的使用。在某种程度上,我很高兴增加最快的更新间隔,如果它能节省电力的话


如果google fused location services使用设备的运动检测器(如果存在的话)来判断设备何时静止,如果是这样的话,只需关闭GPS无线电直到设备移动,这不是很好吗。

即使你找到了答案,我也不会指望它在设备、操作系统版本或google Play版本之间保持不变。如果你绝对不想要GPS,就不要使用融合的提供商。使用基本LocationManager中的网络提供程序


至于使用运动检测器——它们并不存在。它有一个加速计,但对于一个静止不动并以恒定的50英里/小时的速度行驶的加速计来说,看起来完全一样(以恒定的速度行驶就是0加速度)。无论如何,这可能不是一个好的优化——锁定多个GPS卫星需要几秒钟。如果有人想要精确,你不想一直打开或关闭它。

关于当前设备中不存在的运动检测器,你可能是正确的。但如果它们还没有投入使用,它们很快就会存在。有许多传感器融合协处理器可以检测运动,我知道有一家硅公司将其集成到ASIC中。一个例子是融合了陀螺仪、加速度计和磁传感器。尽管如此,你的观点仍然代表了当前的设备,因此我们不能期望Android将运动检测作为其融合定位软件的一部分。如果原始设备制造商认为他们有足够的使用空间来获得竞争优势,那么可能。但即使每个OEM都决定在2016年底将其投放到所有旗舰设备中,根据平均营业额计算,在未来五年内,大多数设备都不会受到影响。目前,它们还不存在。我也很好奇,你认为他们会如何做恒定运动,因为陀螺仪、加速度计和磁传感器不能。使用GPS、陀螺仪、加速度计和磁传感器的完全融合定位服务可以轻松检测到恒定运动。这一切都在软件算法中。让我们假设所有传感器都已启用,并且您收到三个精确的GPS读数(相隔10秒),这些读数告诉您存在一些恒定的运动。现在,您可以假设此运动保持不变,直到其他传感器告诉您其他情况。你可以关闭GPS收音机,直到其他传感器显示运动变化。你需要比现在的手机更精确、噪音更小的传感器。特别是加速度计。你也不能像那样打开和关闭GPS——获取信号需要几秒钟到几分钟,这使得关联变得很困难。。你最好只开着GPS。