Skip to content
This repository has been archived by the owner on Apr 15, 2021. It is now read-only.

第一次进入路由页面没有相机权限就会直接闪退 #68

Open
Tyrone2333 opened this issue Oct 16, 2019 · 8 comments
Open

第一次进入路由页面没有相机权限就会直接闪退 #68

Tyrone2333 opened this issue Oct 16, 2019 · 8 comments

Comments

@Tyrone2333
Copy link

第一次进入路由页面没有相机权限就会直接闪退,请问需要怎么处理?

@zkkg2018
Copy link

兄弟 那个版本的?

@Tyrone2333
Copy link
Author

兄弟 那个版本的?

^2.0.0,现在我用 react-native-camera 官方的 demo + 这个库的 QRScannerRectView 不会闪退了

@MarnoDev
Copy link
Owner

MarnoDev commented Nov 9, 2019

需要先申请权限,再跳转扫码,否则会因为权限不足报错。你自己加个 react-native-permissions 库判断下应该就好了。

@Don-oneself
Copy link

Don-oneself commented Nov 13, 2019

@MarnoDev 请问是判断 PERMISSIONS.ANDROID.CAMERA 吗 判断后在Android模拟器第一次打开正常,但是退出再次打开白屏,并且打包后Android真机闪退,是我判断错误还是需要判断别的权限

import {check, PERMISSIONS, RESULTS, request} from 'react-native-permissions';

check(Platform.OS === 'ios' ? PERMISSIONS.IOS.CAMERA : PERMISSIONS.ANDROID.CAMERA).then(result => {
                            switch (result) {
                                case RESULTS.UNAVAILABLE:
                                    console.log('This feature is not available (on this device / in this context)',);
                                    break;
                                case RESULTS.DENIED:
                                    console.log('开始请求权限');
                                    request(Platform.OS === 'ios' ? PERMISSIONS.IOS.CAMERA : PERMISSIONS.ANDROID.CAMERA).then(result => {
                                        if(result){
                                            this.props.navigation.navigate('Scanner')
                                        }
                                    });
                                    break;
                                case RESULTS.GRANTED:
                                    console.log('已通过');
                                    this.props.navigation.navigate('Scanner')
                                    break;
                                case RESULTS.BLOCKED:
                                    console.log('The permission is denied and not requestable anymore');
                                    break;
                                }
                            })

@Don-oneself
Copy link

QRScanner.js
组件 RNCamera 添加权限

androidCameraPermissionOptions={{
                        title:'****',
                        message: '****',
                        buttonPositive: '****',
                        buttonNegative: '****',
                    }}

但是有一个很神奇的现象 连续开关七八次 就闪退了

@weiting918
Copy link

@MarnoDev 请问是判断 PERMISSIONS.ANDROID.CAMERA 吗 判断后在Android模拟器第一次打开正常,但是退出再次打开白屏,并且打包后Android真机闪退,是我判断错误还是需要判断别的权限

import {check, PERMISSIONS, RESULTS, request} from 'react-native-permissions';

check(Platform.OS === 'ios' ? PERMISSIONS.IOS.CAMERA : PERMISSIONS.ANDROID.CAMERA).then(result => {
                            switch (result) {
                                case RESULTS.UNAVAILABLE:
                                    console.log('This feature is not available (on this device / in this context)',);
                                    break;
                                case RESULTS.DENIED:
                                    console.log('开始请求权限');
                                    request(Platform.OS === 'ios' ? PERMISSIONS.IOS.CAMERA : PERMISSIONS.ANDROID.CAMERA).then(result => {
                                        if(result){
                                            this.props.navigation.navigate('Scanner')
                                        }
                                    });
                                    break;
                                case RESULTS.GRANTED:
                                    console.log('已通过');
                                    this.props.navigation.navigate('Scanner')
                                    break;
                                case RESULTS.BLOCKED:
                                    console.log('The permission is denied and not requestable anymore');
                                    break;
                                }
                            })

用了你的代码,完美解决了我的问题啦,哈哈哈!!!

@Don-oneself
Copy link

@weiting918 不闪退吗? 增加 react-native-permissions 插件,不如在 RNCamera 添加权限

@nguyentuanit97
Copy link

nguyentuanit97 commented Oct 13, 2020

How to fix when we must request permission in qrcode scanner screen?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants