安卓中动态申请权限
自Android6.0版本后,Android的危险权限需要动态申请,让用户确认权限才能使用。如果要申请的危险权限是同一个组的,只需要申请一个权限,这个组的权限就已经是全部申请了。
下面开始本章的步骤
先在gradel文件添加依赖:
在这里插入代码片
implementation 'pub.devrel:easypermissions:2.0.1'
然后到AndroidManifest.xml文件中添加你所需要的权限一般基础(如:上网(Intent))的权限是不需要动态添加的:
在这里插入代码片
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.benmai.download">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
然后到MainActivity.java中实现EasyPermissions.PermissionCallbacks
创建一个permissions方法用于申请权限
在这里插入代码片
private void permisstions() {
String[] stirng={Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
EasyPermissions.hasPermissions(this, stirng);
}
重写方法onRequestPermissionsResult
在这里插入代码片
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
完成