Android6.0動態許可權管理庫

wkp111發表於2018-01-05

在Android開發中,申請個許可權本來很簡單的事情,可就因為Android6.0出個動態許可權,整的那個複雜度是幾何倍增。本著我們開發向簡的宗旨,今天我在這推薦一個Android6.0動態許可權管理庫RuntimePermission,下面我就來介紹它的大用處--化繁為簡!

首先,看一下效果演示圖:

RuntimePermission.gif

接下來,我們介紹一下庫的功能及其使用方法:

1.功能

Android6.0動態許可權管理庫,回撥模式管理動態許可權,無需關注申請許可權各種狀態,只用關心回撥是否有許可權,然後做不同邏輯處理!

2.Android Studio整合方法

dependencies{
      compile 'com.wkp:RuntimePermission:1.0.6'
      //Android Studio3.0+可用以下方式
      //implementation 'com.wkp:RuntimePermission:1.0.6'
}
複製程式碼

3.使用詳解(以申請CAMERA許可權為例)

  • manifest配置
<!--許可權配置-->
    <uses-permission android:name="android.permission.CAMERA"/>
複製程式碼
  • 程式碼示例
//api 23
@RequiresApi(api = Build.VERSION_CODES.M)
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    /**
     * 點選獲取許可權
     * @param view
     */
    public void applyPermission(final View view) {
        //許可權檢查,回撥是許可權申請結果
        RuntimePermissionUtil.checkPermissions(this, RuntimePermissionUtil.CAMERA, new PermissionCallBack() {
            @Override
            public void onCheckPermissionResult(boolean hasPermission) {
                if (hasPermission) {
                    //直接做具有許可權後的操作
                    Toast.makeText(MainActivity.this, "許可權申請成功", Toast.LENGTH_SHORT).show();
                    ((TextView) view).setText("許可權申請成功");
                }else {
                    //顯示許可權不具備的介面
                    Toast.makeText(MainActivity.this, "許可權申請失敗", Toast.LENGTH_SHORT).show();
                    ((TextView) view).setText("許可權申請失敗");
                }
            }
        });
    }
}
複製程式碼

Note:許可權申請採用回撥模式,不用在意Android版本,內建判斷所有,總是有回撥,低版本預設true!

結語

控制元件支援直接程式碼建立,還有更多API請觀看RuntimePermissionUtil.java內的註釋說明。

歡迎大家使用Github地址,感覺好用請給個Star鼓勵一下,謝謝!

大家如果有更好的意見或建議以及好的靈感,請郵箱作者,謝謝!

QQ郵箱: 1535514884@qq.com

163郵箱: 15889686524@163.com

Gmail郵箱: wkp15889686524@gmail.com

相關文章