今天给手机gps想添加动态权限提醒 之前做过相机的动态设置 了解了下方法 添加动态权限 2个方法
//动态权限查询 private void checkCameraPermission() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M // Permission was added in API Level 16 && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, FINE_LOCATION); } else { //不需要查询时进行的操作 } }
if中是查询条件 如果是6。0会查询 else 不需要查询ACCESS_FINE_LOCATION 这个是你要开启的安卓权限 需要什么可以自己修改 可百度安卓所有权限
PackageManager.PERMISSION_GRANTED 当查询权限被授权返回值为这个 所以判断返回不为它 进行询问 然后在询问的回调方法 接收选择结果
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if (requestCode == FINE_LOCATION) { if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { //同意权限后需要进行的操作 } else if (grantResults[0] == PackageManager.PERMISSION_DENIED) {//如果权限在手机中禁止 可能无法询问开启 只能提醒用户 手动去设置变更 Toast.makeText(EmergencyNumberActivity.this, "应用权限被禁止,请到设置中去修改...", Toast.LENGTH_SHORT).show(); } } else { super.onRequestPermissionsResult(requestCode, permissions, grantResults); } }