Android 6.0 运行时权限 超轻量级工具类

DorBroyles 8年前
   <h2>MPermissionUtils</h2>    <p>GitHub上有很多解决AndroidM运行时权限的库,但是个人不想就因为一个权限问题而引入一个库,所以集各位库中的代码,简单封装了一个工具类。使用起来很简单。 由于时间匆忙,所以后期有时间会再继续进行优化。</p>    <h2>使用</h2>    <p>以拨打电话为例,首先在Manifest文件中定义好拨打电话权限:</p>    <pre>  <code class="language-java"><uses-permission android:name="android.permission.CALL_PHONE"/></code></pre>    <ul>     <li>第一步(当用户点击拨打电话按钮时执行如下代码):</li>    </ul>    <pre>  <code class="language-java">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>    <ul>     <li>第二步(重写onRequestPermissionsResult()方法,使用MPermissionUtils类中的方法进行接管):</li>    </ul>    <pre>  <code class="language-java">@Override      public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {          MPermissionUtils.onRequestPermissionsResult(requestCode, permissions, grantResults);          super.onRequestPermissionsResult(requestCode, permissions, grantResults);      }</code></pre>    <p>该步由于操作不会改变,所以可以直接放在BaseActivit和BaseFragment中。</p>    <h2>GIF</h2>    <p><img src="https://simg.open-open.com/show/763b837d9fb7e5ca74ac00c970ecc9e4.gif"></p>    <h2>感谢</h2>    <ul>     <li><a href="/misc/goto?guid=4959725677805574576" rel="nofollow,noindex">https://github.com/HanderWei/PermissionBestPractice</a></li>     <li><a href="/misc/goto?guid=4959667070465160866" rel="nofollow,noindex">https://github.com/hongyangAndroid/MPermissions</a></li>     <li><a href="/misc/goto?guid=4959725677927436849" rel="nofollow,noindex">https://github.com/linglongxin24/MPermissions</a></li>    </ul>    <p> </p>