国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

react native android6+拍照閃退或重啟的解決方案

2019-10-22 18:21:57
字體:
來源:轉載
供稿:網友

前言

android 6+權限使用的時候需要動態申請,那么在使用rn的時候要怎么處理拍照權限問題呢?本文提供的是一攬子rn操作相冊、拍照的解決方案,請看正文的提高班部分。

解決步驟

1、AndroidManifest.xml設置拍照權限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.CAMERA" />

2、配置build.gradle:

設置defaultConfig里面的targetSdkVersion>=23.

3、在需要使用的地方或者程序啟動之后的主頁面的構造中申請相機權限,代碼如下:

async requestCameraPermission() { if (Platform.OS == 'ios') return true; //申請相機權限 try {  const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.CAMERA, {   title: '申請攝像頭權限',   message: '一個很牛逼的應用想借用你的攝像頭'  });  if (granted === PermissionsAndroid.RESULTS.GRANTED) {   console.log('現在你獲得攝像頭權限了');   return true;  } else {   console.log('用戶并不屌你');   return false;  } } catch (err) {  console.warn(err);  return false; }}

拍照之前調用上面的方法:

this.requestCameraPermission(); //申請相機權限 

提高班

多圖選擇、圖片裁剪(支持ad/ios圖片個數控制)推薦使用react-native-syan-image-picker,使用教程查看《react-native多圖選擇、圖片裁剪(支持ad/ios圖片個數控制)》。

小技巧:react-native-syan-image-picker 版本V0.0.5 安卓6+ 拍照問題有點問題,我已經pull request,作者已經合并,稍后測試問題之后,即可發布,如果著急使用貼出解決代碼。

1.修改build.gradle如圖:

react,native,android

2、修改RNSyanImagePickerModule.java更新2.1.7配置,代碼如下:

.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、圖片.ofImage()、視頻.ofVideo()、音頻.ofAudio().maxSelectNum(imageCount)// 最大圖片選擇數量 int.minSelectNum(1)// 最小選擇數量 int.imageSpanCount(4)// 每行顯示個數 int.selectionMode(modeValue)// 多選 or 單選 PictureConfig.MULTIPLE or PictureConfig.SINGLE.previewImage(true)// 是否可預覽圖片 true or false.previewVideo(false)// 是否可預覽視頻 true or false.enablePreviewAudio(false) // 是否可播放音頻 true or false.isCamera(isCamera)// 是否顯示拍照按鈕 true or false.imageFormat(PictureMimeType.PNG)// 拍照保存圖片格式后綴,默認jpeg.isZoomAnim(true)// 圖片列表點擊 縮放效果 默認true.sizeMultiplier(0.5f)// glide 加載圖片大小 0~1之間 如設置 .glideOverride()無效.enableCrop(isCrop)// 是否裁剪 true or false.compress(true)// 是否壓縮 true or false.glideOverride(160, 160)// int glide 加載寬高,越小圖片列表越流暢,但會影響列表圖片瀏覽的清晰度.withAspectRatio(CropW, CropH)// int 裁剪比例 如16:9 3:2 3:4 1:1 可自定義.hideBottomControls(isCrop)// 是否顯示uCrop工具欄,默認不顯示 true or false.isGif(isGif)// 是否顯示gif圖片 true or false.freeStyleCropEnabled(true)// 裁剪框是否可拖拽 true or false.circleDimmedLayer(showCropCircle)// 是否圓形裁剪 true or false.showCropFrame(showCropFrame)// 是否顯示裁剪矩形邊框 圓形裁剪時建議設為false true or false.showCropGrid(showCropGrid)// 是否顯示裁剪矩形網格 圓形裁剪時建議設為false true or false.openClickSound(false)// 是否開啟點擊聲音 true or false.cropCompressQuality(90)// 裁剪壓縮質量 默認90 int.minimumCompressSize(100)// 小于100kb的圖片不壓縮 .synOrAsy(true)//同步true或異步false 壓縮 默認同步.rotateEnabled(true) // 裁剪是否可旋轉圖片 true or false.scaleEnabled(true)// 裁剪是否可放大縮小圖片 true or false.videoQuality(0)// 視頻錄制質量 0 or 1 int.videoMaxSecond(15)// 顯示多少秒以內的視頻or音頻也可適用 int .videoMinSecond(10)// 顯示多少秒以內的視頻or音頻也可適用 int .recordVideoSecond(60)//視頻秒數錄制 默認60s int.forResult(PictureConfig.CHOOSE_REQUEST);//結果回調onActivityResult code 

效果如圖:

     react,native,android react,native,android

總結

以上所述是小編給大家介紹的react native android6+拍照閃退或重啟的解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永济市| 广河县| 峨边| 南召县| 白城市| 溧水县| 邹城市| 交口县| 卓资县| 平阳县| 和平区| 关岭| 儋州市| 怀远县| 吐鲁番市| 彝良县| 伊春市| 上林县| 庄浪县| 客服| 巨鹿县| 秦皇岛市| 临汾市| 曲沃县| 镇原县| 邵阳县| 舟曲县| 夏邑县| 深州市| 手机| 兴国县| 军事| 岳西县| 鲜城| 平湖市| 青岛市| 方正县| 双辽市| 平湖市| 大理市| 远安县|