第一步 :


在 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,}

});

更多相关文章

  1. [Android]使用全局变量传递数据
  2. Android(安卓)Fragment详解
  3. Android(安卓)某些机型不带tcpdump的解决办法
  4. Android(安卓)UI开发第三十篇――使用Fragment构建灵活的桌面
  5. Android——谷歌cameraview详解
  6. Android(安卓)WIFI检测与设置
  7. Android:如何给 ScrollView 添加滑块滚动条
  8. Android(安卓)4.4 打印探究
  9. Android中“android:elevation”设置阴影,在真机上没有效果的问题

随机推荐

  1. android 根据EditText 内容,改变TextView
  2. Android BroadcastReceiver两种注册方式
  3. Android(安卓)Studio 打包apk,自动追加版
  4. Android中的category大全
  5. android一个简单的线程实例
  6. android第三天--AbsoluteLayout绝对布局
  7. Android控件之——输入框TextInputLayout
  8. 像素鸟(flapybird)的简单实现
  9. android面试题(1)
  10. [Android]获取网络连接状态