在 android 清单文件中,我为 gps 添加了以下权限以访问该位置
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
我正在使用位置管理器类进行如下的位置更新
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES,
this
);
但是上面的行给出了一个例外说明
"gps" location provider requires ACCESS_FINE_LOCATION permission
这件事只发生在targetSDKVersion 23(即android 6.0)上,我也在android 5.1中测试过,效果很好。
请帮忙!!。在此先感谢。
原文由 bhanu.cs 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 6.0 开始,一些权限被认为是“危险的”(FINE_LOCATION 就是其中之一)。
为了保护用户,他们必须在运行时获得授权,以便用户知道这是否与他的行为有关。
去做这个 :
它将显示一个对话框,用户将在其中选择是否自动让您的应用程序使用位置。
然后使用此函数获取用户答案:
”`
这一切都在Android文档中进行了解释(
onRequestPermissionsResult
也来自那里):http: //developer.android.com/training/permissions/requesting.html