我遇到了一个奇怪的问题。我刚刚实现了一个位置客户端来检索用户位置,就像在doc:Retrieving the Current Location
中一样如果没有可用的连接,则测试错误对话框我启用了飞行模式并禁用了位置服务。
int resultCode =
GooglePlayServicesUtil.isGooglePlayServicesAvailable(getActivity());
但是此代码返回ConnectionResult.SUCCESS
。当我尝试获取位置时,我会得到null,但resultCode
不应该返回一些错误(正如他们在文档中所说的那样)?问题出在哪里?我的代码与doc示例中的代码大致相同。
答案 0 :(得分:1)
我可能在这方面有误,但我相信由于Google Play服务不仅适用于位置服务(即您仍可以Activity Recognition无法访问用户位置),它仍应返回ConnectionResult.SUCCESS
。根据{{3}},isGooglePlayServicesAvailable
基本上会检查是否安装了Play服务以及您的应用所需的正确版本。
为了检查用户位置的可用性,您仍然需要检查isProviderEnabled
课程的LocationManager
。