android 请求权限被拒处理方法(使用于6.0以下系统)

来源:互联网 发布:淘宝怎么开直播卖衣服 编辑:程序博客网 时间:2024/05/09 10:27

android 请求权限被拒处理方法(使用于6.0以下系统)

最近处理BUG,发现部分手机拒绝我拍照的请求权限之后,程序会崩溃。由于Android系统在6.0以下是没有
动态权限管理的,只有在M系统里面有,所以的话也不好解决这个问题。下面介绍我用**try catch**捕获异常的方法去实现。


1.在我们需要用到权限的地方用 try catch 包裹起来

@Override    protected void onStart() {        // TODO Auto-generated method stub        super.onStart();        try {            mCameraOperate.openCamera();//开启相机        } catch (Exception e) {            // TODO: handle exception            not_Permission.show();//抛出异常后弹出无法获取权限对话框        }    }

程序请求权限后,如果拒绝了权限,就会被try catch包裹。
抛出异常后我们最好加一个提示框,让用户知道权限被拒,提升友好度。


2.Dialog弹出问题。

在实现抛出异常弹出对话框时,加上finish();按返回键只能杀死dialog不能把整个Activity杀死。
需要重写一下Dialog的返回按键事件。

not_Permission.setCanceledOnTouchOutside(false);// 设置点击屏幕Dialog不消失 not_Permission.setOnKeyListener(new OnKeyListener() {//dialog的返回键            @Override            public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {                // TODO Auto-generated method stub                if (keyCode == KeyEvent.KEYCODE_BACK){                    if (not_Permission.isShowing()) {                        not_Permission.dismiss();                        finish();                    }                }                return false;            }        });

有更好的权限管理方法的话欢迎大家指教~~

0 0