Android 6.0 運行時權限 超輕量級工具類

DorBroyles 8年前發布 | 19K 次閱讀 安卓開發 Android開發 移動開發

MPermissionUtils

GitHub上有很多解決AndroidM運行時權限的庫,但是個人不想就因為一個權限問題而引入一個庫,所以集各位庫中的代碼,簡單封裝了一個工具類。使用起來很簡單。 由于時間匆忙,所以后期有時間會再繼續進行優化。

使用

以撥打電話為例,首先在Manifest文件中定義好撥打電話權限:

<uses-permission android:name="android.permission.CALL_PHONE"/>
  • 第一步(當用戶點擊撥打電話按鈕時執行如下代碼):
MPermissionUtils.requestPermissionsResult(this, 1, new String[]{Manifest.permission.CALL_PHONE}
                , new MPermissionUtils.OnPermissionListener() {
                    @Override
                    public void onPermissionGranted() {
                        Toast.makeText(MainActivity.this, "授權成功,執行撥打電話操作!", Toast.LENGTH_SHORT).show();
                    }

                @Override
                public void onPermissionDenied() {
                    MPermissionUtils.showTipsDialog(MainActivity.this);
                }
            });</code></pre> 

  • 第二步(重寫onRequestPermissionsResult()方法,使用MPermissionUtils類中的方法進行接管):
@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        MPermissionUtils.onRequestPermissionsResult(requestCode, permissions, grantResults);
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }

該步由于操作不會改變,所以可以直接放在BaseActivit和BaseFragment中。

GIF

感謝

 

 本文由用戶 DorBroyles 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!