Android 6.0+运行时动态权限申请

Android 6.0+运行时动态权限申请

   这篇笔记记录了EasyPermission 和 PermissionsUtil两个比较好的动态权限申请框架,相信大家在进行Android6.0以后的权限申请时对他的复杂步骤十分痛恨,这两款框架将会大大简化动态权限申请

EasyPermission

   EasyPermission简介

使用步骤:

	1.添加依赖
dependencies {
    // For developers using AndroidX in their applications
    implementation 'pub.devrel:easypermissions:3.0.0'
 
    // For developers using the Android Support Library
    implementation 'pub.devrel:easypermissions:2.0.1'
}
	2.重写Activity或Fragment的onRequestPermissionsResult 方法
public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
   }

   @Override
   public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
       super.onRequestPermissionsResult(requestCode, permissions, grantResults);

       //  转发到EasyRequestPermission进行申请
       EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
   }
}

常用方法介绍

/**
*	第一个参数:上下文,		第二个参数:提示信息,
*	第三个参数:权限请求码,	第四个参数:待请求权限列表
*/
requestPermissions(Activity host, String rationale,int requestCode,String... perms)

实现EasyPermissions.PermissionCallbacks接口中的两个方法

/**
*	第一个参数:权限请求码,	第二个参数:同意的的请求权限列表
*/
onPermissionsGranted(int requestCode, List<String> perms)
/**
*	第一个参数:权限请求码,	第二个参数:拒绝的请求权限列表
*/
onPermissionsDenied(int requestCode, List<String> perms)

PermissionsUtil

   PermissionsUtil简介

使用步骤:

	1.添加依赖
 implementation 'com.github.dfqin:grantor:2.1.0'

常用方法介绍

点开看Api就行了

使用案例

String[] perms = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA};
        PermissionsUtil.requestPermission(this, new PermissionListener() {
           @Override
           public void permissionGranted(@NonNull String[] permission) {
               //授权后操作
           }

           @Override
           public void permissionDenied(@NonNull String[] permission) {
 				//用户拒绝授权后操作
           }
       },perms);
发布了15 篇原创文章 · 获赞 5 · 访问量 1148

猜你喜欢

转载自blog.csdn.net/jsupoker/article/details/103500833