2017-06-22 33 views
0

我正在制作一个应用程序,让我想让用户的位置显示在地图上。当我在真实设备上运行应用程序时,它似乎无法获取此位置,但如果我使用GPS定位器放置模拟位置,则会获取位置信息。在模拟器中,这些模拟位置也被检测到。Android只检测模拟位置?

我怎样才能让我的手机获得真正的位置呢?

回答

0

请求用户权限才能从 NETWORK_PROVIDER或GPS_PROVIDER接收位置更新,您必须通过声明要么ACCESS_COARSE_LOCATION或 ACCESS_FINE_LOCATION权限,分别在自己的Android 清单文件请求用户的 许可。如果没有这些权限,请求位置更新时,应用程序在运行时将失败 。

如果你同时使用NETWORK_PROVIDER和GPS_PROVIDER,那么你就需要 要求只有ACCESS_FINE_LOCATION权限,因为它 包含针对供应商的许可。 的权限ACCESS_COARSE_LOCATION只允许访问NETWORK_PROVIDER。

更多的https://developer.android.com/guide/topics/location/strategies.html#Permission

+0

我已经包含权限,并接受他们在我的应用程序,所以这不应该成为问题。 – Blank