活动识别API在某些设备上无法工作

5

位置访问是否与活动识别过程有关系? 在某些设备上,在打开位置设置后才能使活动识别样本起作用。


请在您的问题中添加更多信息。这样才能更好地帮助您。 - ᗩИᎠЯƎᗩ
@andrea 我想知道的是,活动识别API是否在内部使用用户位置。 - pablogeorge
2个回答

1
这个问题已在Google Play服务的最新更新中解决(4.3.23 (1069729-030))。我们需要做的就是用最新版本(4.3.23 (1069729-030))替换库项目“google-play-services_lib”。我注意到如果切换位置设置,AR更新会有约1分钟的延迟,但它可以正常工作。

0

活动识别是Google Play位置API的一部分。请在此处查看文档:

您可以看到这是Play提供的位置服务的一部分。在内部,需要有一种方法来确定设备的移动速度 - 这需要基于位置的计算。

以下是{{link2:ActivityRecognitionClient文档}}中的类概述段落摘录:

它仅使用低功率传感器以将功耗保持最小。

这表明(正如OP指出的那样),API依赖于网络位置而不是GPS位置。


从安全角度来看,这是有意义的。

如果我作为用户决定不想让任何应用程序查看或使用我的位置信息,那么我希望Play API遵守这个决定。

否则,安全性就会丧失。


请原谅我如果我错了。但是文档中这个语句的意思是什么?活动识别不需要 ACCESS_COARSE_LOCATION 或 ACCESS_FINE_LOCATION 权限。 - pablogeorge
1
我的理解是,如果您的应用程序需要活动识别,则不需要位置权限。但是,如果您在操作系统中完全禁用位置权限(例如关闭GPS),则Play API无法计算任何活动信息。如果我告诉系统我不想告诉谷歌我的位置,我不希望谷歌能够访问我的位置。希望对您有所帮助。 - Richard Le Mesurier
我的疑问是,这是否取决于GPS(基于卫星)还是网络提供商?我尝试只开启GPS并关闭AGPs(网络提供商),但应用程序无法工作。因此,我可以得出结论,活动识别仅基于网络提供商吗? - pablogeorge
1
我在ActivityRecognitionClient的在线文档中找到了支持你的信息。已编辑答案。 - Richard Le Mesurier
您的应用程序从未获得任何位置数据,因此它不需要这些权限。但是API需要位置数据,因此需要您打开位置设置。这是您的应用程序获取位置数据和Play API获取位置数据之间的区别。希望这样说得清楚了? - Richard Le Mesurier
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接