react-native 手机拍照权限
16lz
2021-01-26
第一步 :
在 android/app/src/main/AndroidManifest.xml
添加
然后运行项目在手机应用权限哪里查看
这是添加前的
这是添加后的
第二步调用
import React, {Component} from 'react';
import {
View,Text,Image,StyleSheet,Button,Modal,TouchableHighlight,TouchableOpacity,Dimensions
} from 'react-native';
import ImagePicker from 'react-native-image-picker';
// const Dimensions = require ('Dimensions') ;
export default class Jidan extends Component {
state={ avatarSource: {},}// 选择图片或相册onClickChoosePicture = () => { const options = { title: '', cancelButtonTitle: '取消', takePhotoButtonTitle: '拍照', chooseFromLibraryButtonTitle: '选择照片', storageOptions: { skipBackup: true, path: 'images', } }; ImagePicker.showImagePicker(options, (response) => { console.log('Response = ', response); if (response.didCancel) { console.log('User cancelled image picker'); } else if (response.error) { console.log('ImagePicker Error: ', response.error); } else if (response.customButton) { console.log('User tapped custom button: ', response.customButton); } else { const source = {uri: response.uri}; this.setState({ avatarSource: source, }); console.warn(this.state.avatarSource.uri); } });}async requestCarmeraPermission() { try { const granted = await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.CAMERA, { 'title': 'Camera Permission', 'message': 'the project needs access to your camera ' + 'so you can take awesome pictures.' } ) if (granted === PermissionsAndroid.RESULTS.GRANTED) { this.show("你已获取了相机权限") } else { this.show("获取相机失败") } } catch (err) { this.show(err.toString()) }} render() { return ( 申请相机权限 this.onClickChoosePicture()}>选择图片 );}
}
const styles = StyleSheet.create({
button_view: { margin:4, borderRadius: 4, backgroundColor: '#8d4dfc', alignItems: 'center',},button_text: { padding: 6, fontSize: 16, fontWeight: '600'},container: { flex: 1, flexDirection: 'column', justifyContent: 'center', alignItems: 'center', marginBottom:60,},textStyle:{ backgroundColor:'#66CCFF', paddingHorizontal:50, paddingVertical:10,},uploadAvatar:{ width: 150, height: 150,}
});
更多相关文章
- [Android]使用全局变量传递数据
- Android(安卓)Fragment详解
- Android(安卓)某些机型不带tcpdump的解决办法
- Android(安卓)UI开发第三十篇――使用Fragment构建灵活的桌面
- Android——谷歌cameraview详解
- Android(安卓)WIFI检测与设置
- Android:如何给 ScrollView 添加滑块滚动条
- Android(安卓)4.4 打印探究
- Android中“android:elevation”设置阴影,在真机上没有效果的问题