-
去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使用方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.