Android 6.0权限申请问题,请大家看下



  • 我用HiPermission权限框架来实现权限申请的。申请函数我写在module。

        List<PermissionItem> permissions = new ArrayList<PermissionItem>();
        permissions.add(new PermissionItem(Manifest.permission.WRITE_EXTERNAL_STORAGE));
        permissions.add(new PermissionItem(Manifest.permission.READ_EXTERNAL_STORAGE));
        permissions.add(new PermissionItem(Manifest.permission.CAMERA));
        permissions.add(new PermissionItem(Manifest.permission.ACCESS_FINE_LOCATION));
        permissions.add(new PermissionItem(Manifest.permission.CALL_PHONE));
        permissions.add(new PermissionItem(Manifest.permission.READ_PHONE_STATE));
        HiPermission.create(mContext).permissions(permissions).checkMutiPermission(new PermissionCallback(){
            @Override
            public void onClose() {
                Log.i("hxw_","onClose");
            }
    
            @Override
            public void onFinish() {
                Log.i("hxw_","onFinish");
            }
    
            @Override
            public void onDeny(String permission, int position) {
                Log.i("hxw_","onDeny = "+permission);
            }
    
            @Override
            public void onGuarantee(String permission, int position) {
                Log.i("hxw_","onGuarantee = "+permission);
            }
        });
    

    然后在App.js里面去调用的

    export default class App extends Component<{}> {
    constructor(props) {
    super(props);
    ToastAndroid.show("开始申请权限",ToastAndroid.SHORT);
    NativeModules.AndroidNativeModule.requestPermission();
    }
    render() {
    return (
    <View style={styles.container}>
    <Text style={styles.welcome}>
    Welcome to React Native!
    </Text>
    <Text style={styles.instructions}>
    To get started, edit App.js
    </Text>
    <Text style={styles.instructions}>
    {instructions}
    </Text>
    </View>
    );
    }
    }

    module里面的代码执行了,但是没有弹出权限申请的对话框,但是打印了log。打印的是onFinish,意思是权限已经申请完成了,但是我在设置里面看到相关权限的设置还是处于“询问状态”,这个是为什么呢。

    我用原生Android 写了一个Demo,代码一样,只是一个是在Activity一个是在module,上下文都是Application。写的Demo可以很顺畅的弹出权限申请的提示框,并能判断出用户是拒绝还是同意了


登录后回复