在Android6.0之后版本权限一律动态申请,无法静态申请
1.先在 AndroidManifest.xml
文件中添加,如以下几个权限
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
2、如果用的Android 10.0及以上的Android设备,请动态申请权限,并在 AndroidManifest.xml
中application
标签内加上android:requestLegacyExternalStorage="true"
<application
android:requestLegacyExternalStorage="true"
3、代码中动态申请
if (ContextCompat.checkSelfPermission(AsyncActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(AsyncActivity.this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
}else {
Log.d("dds","duxiequanxian");
}
通过版本判断
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{Manifest.permission.CAMERA
}, 100);
}