一、动态权限使用场景
1、Android SDK api需在 23 之上(即minSdkVersion >= 23);
2、针对的是危险权限,普通权限不需要动态申请。
二、动态权限使用步骤
1、在AndroidManifest.xml中使用"<uses-permission android:name=权限 />"添加要使用的危险权限;
2、进入应用后,若SDK api在23以上(if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M)),则在需要使用该危险权限相关功能时进行权限检查("checkSelfPermission(权限) !=PackageManager.PERMISSION_GRANTED"),若已授权则直接进入功能,若未授权则不进入功能并申请权限("requestPermissions(权限列表, 请求码)");
3、在申请权限的回调("public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults)")中判断是否授权(请求码匹配和判断"grantResults[i] == PackageManager.PERMISSION_GRANTED"),在授权后进入功能。
三、实例
private int requestCode = 0x100;
@Override
protected void onCreate(Bundle savedInstanceState) {