美文网首页
android 权限管理

android 权限管理

作者: 代瑶 | 来源:发表于2018-05-18 21:05 被阅读0次

    android 6.0之后申请还有点麻烦的,所以我们介绍PermissionsDispatcher

    https://github.com/permissions-dispatcher/PermissionsDispatcher

    android studio 安装插件 image.png
    
    @RuntimePermissions
    public class AccusedActivity extends BaseActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_accused);
             //APT生成需要编译一下
            AccusedActivityPermissionsDispatcher.showCameraWithPermissionCheck(this);
        }
    
        @Override
        public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
            AccusedActivityPermissionsDispatcher.onRequestPermissionsResult(this, requestCode, grantResults);
        }
    
      //同意请求之后触发
        @NeedsPermission(Manifest.permission.CAMERA)
        void showCamera() {
            Toast.makeText(this, "showCamera", Toast.LENGTH_SHORT).show();
        }
    
    // 申请权限弹窗  选择禁止  但是并未勾选以后再不提醒 , 第二次进来显示自定义弹窗
        @OnShowRationale(Manifest.permission.CAMERA)
        void showRationaleForCamera(final PermissionRequest request) {
            new AlertDialog.Builder(this)
                    .setMessage("showRationaleForCamera")
    //显示同意  再调出权限弹窗询问
                    .setPositiveButton("同意", (dialog, button) -> request.proceed())
                    .setNegativeButton("拒绝", (dialog, button) -> request.cancel())
                    .show();
        }
    
    //选择权限禁止按钮
        @OnPermissionDenied(Manifest.permission.CAMERA)
        void showDeniedForCamera() {
            Toast.makeText(this, "拒绝", Toast.LENGTH_SHORT).show();
        }
    
    //选中了 不再询问并且禁止了  再次进来时提醒 
        @OnNeverAskAgain(Manifest.permission.CAMERA)
        void showNeverAskForCamera() {
            Toast.makeText(this, "从来不问", Toast.LENGTH_SHORT).show();
        }
    }
    
    

    相关文章

      网友评论

          本文标题:android 权限管理

          本文链接:https://www.haomeiwen.com/subject/ausndftx.html