android手机拍摄权限,react-native 手机拍照权限

第一步 :

bVby2HQ?w=1126&h=593

在 android/app/src/main/AndroidManifest.xml

添加

然后运行项目在手机应用权限哪里查看

这是添加前的

bVby2J9?w=1080&h=2340

这是添加后的

bVby2Kh?w=1080&h=2340

第二步调用

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 (

onPress={this.requestCarmeraPermission.bind(this)}>

申请相机权限

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,

}

});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NHibernate for .NET 1.2

NHibernate for .NET 1.2 支持很多Hibernate 3.0的特性,性能方面据说有很大提高.下面这篇文章可以好好看看NHibernate Best Practices with ASP.NET, 1.2nd Ed.

Halcon和Opencv的区别?

1.MVTec HALCONMVTec HALCON 是世界上最全能的机器视觉软件.世界各地的用户从HALCON为快速开发图像分析和机器视觉程序的灵活架构获益匪浅.HALCON 提供了超过1100多种具备突出性能控制器的库,如模糊分析,形态,模式匹配,3D校正等.HALCON支持多个操作系统,编程语言和截获设备从而…

idea 一直在build_让web开发部署提速 8 倍的一款 IDEA 插件,你有在用?

原文:http://suo.im/4on4JE 来源于云栖社区>中间件小哥作为一个 Java 程序员,我们大多数会在 Intellij IDEA 中基于 SpringBoot 来开发 WEB 应用,所以本文中的测评将会基于以下几个架构来构建:开发环境:IDEA项目组织方式&…

Android 调用12306接口,GitHub - AndroidyxChen/loading-12306: 仿PC端12306的刷新loading的自定义view...

loading-12306仿PC端12306的刷新loading的自定义view效果图:核心代码及实现逻辑如下:mPaint.setColor(mColor);mPaint.setTextSize(50);//1、动画开启前,theCircle的初始值为-1,所以初始化时只走canvas.drawCircle()方法&#xff…

FreeBSD 下的 MySQL 备份方案

作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。核心提示:如何在 FreeBSD 下实现 MySQL 的全量及增量备份&am…

IdentityServer4(八)使用EntityFramework Core对数据进行持久化

上几篇,我们创建了客户端,scope,启动时,IdentityServer把这些配置数据加载至内存,但是,如果我们想要更改配置,就必须停掉IdentityServer,然后重新启动。且IdentityServe在r运行过程中…

centos 重启网卡_CentOS7网络配置和修改网卡名称及常用服务管理命令

1.设置IP地址和网关及DNSCentOS7里面的网卡名称不在是eth0,1,2而改成enoxxxxxx的格式,en代表的是enthernet以太网,o代表onboard内置,这种新的方式不但长,而且难记,不过优点也比较突出,有编号唯一性&#xf…

android平板 useragent,移动端适配 user-Agent

用navigator结合正则表达式来判断 打开网址的来源function getOrin() {if((navigator..match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobuserAgentile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {/*window.l…

推荐曹济的FPA培训课程

下面是课程的相关内容,供参考,如果有可能,也帮着推荐给别的同事,谢谢! 软件功能点估算原理及实践课程说明:http://www.suiji.com.cn/FPA1.htm 功能点应用领域:http://www.suiji.com.cn/FPuse.ht…

C# 中的动态类型

翻译自 Camilo Reyes 2018年10月15日的文章 《Working with the Dynamic Type in C#》 [1] .NET 4 中引入了动态类型。动态对象使您可以处理诸如 JSON 文档之类的结构,这些结构的组成可能要到运行时才能知道。在本文中,Camilo Reyes 解释了如何使用动态…

python根据列表绘制柱状图_python把一个列表画柱状图

原博文 2018-10-18 14:28 − https://blog.csdn.net/w113691/article/details/80385534... 相关推荐 2019-12-07 19:38 − 用python画简单的树 代码如下: import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, t): time.sleep(0.00…

html 页面工具,html页面工具-htmlUnit

HtmlUnit测试工具的推出,创意非常好。是一款给java开发用的browser。说它是browser,其实它是对html建模并且提供API来访问页面,点击链接等等的java类库。这样的测试工具有这样几个优点:运行起来没有界面,速度非常快。由…

基于电子邮件的InfoPath表单发布的注意点 [Infopath 2007]

让我们先来看看InfoPath 2007提供的其他几种发布方案:1. 将InfoPath模板发布到SharePoint Server或者InfoPath Form Server2. 将InfoPath模板制作成一个安装程序3. 将InfoPath模板发布到一个共享网络地址上方案1,3 都必须依赖已有服务器或网络,而方案2 则…

如何在 C# 8 中使用 Index 和 Range

C# 8 中有几个比较好玩的新特性,比如下面的这两个:System.Index 和 System.Range,分别对应着索引和切片操作,这篇文章将会讨论这两个类的使用。System.Index 和 System.Range 结构体 可以用它们在运行时对集合进行 index 和 slice…

python 廖雪峰数据分析统计服_廖雪峰python教程阅读量统计

统计了下廖老师的python教程各个小节的阅读量(毫无卵用),廖老师网站反爬做的比我们教务系统可是好多了,一定时间内访问次数多会禁止,反正数据量也不多,就慢慢来,基本上也不会对网站造成什么影响…

html点击图片弹出大图特效代码,Jquery 点击图片在弹出层显示大图

使用jquery,实现点击图片在弹出层显示大图,再次点击关闭,加入图片高宽和窗口高宽的大小判断。效果图片如下:1.点击前的效果:2.点击后的效果:html代码如下:弹出层图片Js代码如下:$(fu…

使用ClickOnce部署VS2005中的WinForm应用程序.(ZT)

使用ClickOnce部署VS2005中的WinForm应用程序/Files/chinhr/AA.rarTrackBack:http://blog.oracle.com.cn/155011/viewspace_3603.html

Hybrid-APP技术原理

源宝导读:Hybrid-APP技术不仅具有“Native APP的良好交互体验”同时也具备“Web APP跨平台开发的优势”。既然Hybrid-APP有这么多优势,那么究竟什么样的APP才算Hybrid App呢?本文将分享我们的技术研究成果。一、什么是Hybrid-APP狭义的Hybrid…

复旦计算机考研英语,2020考研复旦计算机专硕392经验贴

2020考研复旦计算机专硕392经验贴之前立flag上岸要写经验贴的,谁知今年复试时间跟初试一样长了,想说的都忘了。。但还是写一份吧每个人情况都不同,每个人都有自己的学习节奏,只希望在你焦虑的(我是这样的)看完这些经验贴后&#x…

基于微软ASP.NET AJAX框架开发幻灯片播放网页

一、 简介 最近,微软ASP.NET Ajax 1.0框架以其完整的基于Ajax的web开发方案呈现在web技术人员的前面,凭借与遗留ASP.NET系统的有机整合以及完全面向对象的客户端JavaScript组件模型两大绝杀正在引起越来越多的基于.NET平台的web开发者的关注。本文应该属…