google官方權限申請庫EasyPermissions使用方法

  1. 去github上引入最新的庫 地址

  2. 重寫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);
    
  3. 定義唯一的RequestCode

     private static final int RC_LOCATION_GPS_PREM =124;
    
  4. 定義要請求的權限字符串(組)

    private static final String[] LOCATION_AND_GPS ={Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_COARSE_LOCATION};
    
  5. 請求權限

    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
                    );
    
  6. 實現回調接口EasyPermissions.PermissionCallbacks,定義在用戶同意或者拒絕權限申請之後的行爲

    //回調方法
     @Override
     public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
     }
     @Override
     public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
     }
    
發佈了70 篇原創文章 · 獲贊 48 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章