检查您的设备是否开启了位置服务。您可以前往设置 > 安全性和隐私 > 位置服务以确认。
如果您的设备仍然提示应用程序需要位置权限,请尝试在代码中进行如下更改:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_LOCATION); }
并添加以下方法:
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case REQUEST_LOCATION: // 如果请求被取消,则结果数组为空 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { // 权限被授予 } else { // 权限被拒绝 } break; } }
此更改将请求位置权限并处理用户授予权限或拒绝的响应。