android 9.0定位权限

在android 8.0 及以前的版本中, 获取定位权限在清单文件中获取就行了, 9.0需要在代码中再次动态获取一次,而且网络权限和GPS权限都需要获取,8.0还可以只获取网络权限就可以了, 9.0只获取网络权限的话也可以使用定位等功能, 但是需要GPS的功能就不能用了,比如获取海拔高度和测速,有些人可能用不到这样的数据以至于一直以来没有人去发现这个问题


if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_COARSE_LOCATION) !=     PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(mContext, Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {

   //请求权限

  ActivityCompat.requestPermissions(this, new String   [{Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.RECORD_AUDIO},  MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION);

  if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_CONTACTS)) {

    Toast.makeText(this, "shouldShowRequestPermissionRationale", Toast.LENGTH_SHORT).show();

}

}

ACCESS_COARSE_LOCATION : 网络定位权限;

ACCESS_FINE_LOCATION : GPS定位权限

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容