-
去github上引入最新的库 地址
-
重写onRequestPermissionsResult,将请求结果转发到EasyPermisson库
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); EasyPermissions.onRequestPermissionsResult(requestCode,permissions,grantResults,this);
-
定义唯一的RequestCode
private static final int RC_LOCATION_GPS_PREM =124;
-
定义要请求的权限字符串(组)
private static final String[] LOCATION_AND_GPS ={Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_COARSE_LOCATION};
-
请求权限
if (EasyPermissions.hasPermissions(this,LOCATION_AND_GPS)){ // 应用已经拥有了权限 }else { // 应用没有拥有权限 EasyPermissions.requestPermissions( this, getResources().getString(R.string.request_loacation),//使用官方提供的弹窗(`AppSettingsDialog`)的时候会用到这个字符串,作为用户拒绝之后弹窗的内容 RC_LOCATION_GPS_PREM, LOCATION_AND_GPS );
-
实现回调接口
EasyPermissions.PermissionCallbacks
,定义在用户同意或者拒绝权限申请之后的行为//回调方法 @Override public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) { } @Override public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) { }
google官方权限申请库EasyPermissions使用方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.