ionic 插件Image Picker 安卓闪退问题
时间:2020-05-13
本文章向大家介绍ionic 插件Image Picker 安卓闪退问题,主要包括ionic 插件Image Picker 安卓闪退问题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
缘由:
针对ionic+cordova+angular 开发APP时,当需要选择多个图片时,则需要ImagePicker 插件。不过,安卓版本大于6.0的时候,改插件是需要授权的:相册权限和存储权限。若没有权限,则会闪退。
一、ionic3
(一)安装插件
npm安装插件,命令语句
cordova plugin add com.synconset.imagepicker@2.1.8 cordova plugin add cordova-plugin-camera@3.0
查看所有cordova 插件的命令语句:
cordova plugin list
(二)配置项目
1、打开工程目入android文件下的build.gradle 如:
2、搜索def promptForReleaseKeyPassword(),在下方添加代码如:【红色部分】
def promptForReleaseKeyPassword() { if (!cdvReleaseSigningPropertiesFile) { return; } if ('__unset'.equals(android.signingConfigs.release.storePassword)) { android.signingConfigs.release.storePassword = privateHelpers.promptForPassword('Enter key store password: ') } if ('__unset'.equals(android.signingConfigs.release.keyPassword)) { android.signingConfigs.release.keyPassword = privateHelpers.promptForPassword('Enter key password: '); } } configurations.all { resolutionStrategy { force "com.android.support:support-v4:24.1.1" } }
三、权限的检测和请求
在App启动时,检测是否有存储和相册权限,例如app.component.ts 文件中:
this.platform.ready().then(() => { // 权限 if (this.settingSevice.isAndroid()) { this.checkPermissions(); } }); /*检查App是否有打开图库的权限*/ checkPermissions() { // @ts-ignore const permissions = cordova.plugins.permissions, permissionList = [permissions.CAMERA, permissions.WRITE_EXTERNAL_STORAGE]; function errorCallback() { console.warn("permissions is not turned on"); } function checkPermissionCallback(status) { if(!status.hasPermission) { permissions.requestPermissions( permissionList, status => { if(!status.hasPermission) errorCallback(); }, errorCallback); } } permissions.hasPermission(permissionList, checkPermissionCallback, null); }
二、ionic4 【大部分和ionic3类同】
(一)安装插件【不需要具体版本】
ionic cordova plugin add cordova-plugin-telerik-imagepicker
npm install @ionic-native/image-picker
(二)配置方式一样,但是路径不同【android --App--buid.gradle】下进行配置
(三)权限 ---同ionci3(三)
原文地址:https://www.cnblogs.com/renxiaoren/p/12881816.html
- Shell脚本的简单排错法及调试程序bashdb
- ASM 翻译系列第二十四弹:ASM Internal ASM files number 10 and 11
- Redhat设置NFS挂载的简单步骤
- WordPress后台首页显示RSS错误的解决办法
- ASM 翻译系列第十九弹:ASM Internal ASM Continuing Operations Directory
- ASM 翻译系列第二十五弹:ASM 高级知识 When will my rebalance complete
- ASM 翻译系列第二十六弹:ASM 高级知识 Where is my data
- LVS+Keepalived负载均衡主备&双主架构全攻略
- ASM 翻译系列第二十八弹:ASM INTERNAL Partnership and Status Table
- ASM 翻译系列第二十九弹:ASM INTERNAL Free Space Table
- MySql常用30种SQL查询语句优化方法
- RxJS速成
- 会HTML/CSS就可以轻松创建网站
- 区块链银行应用探索(Hyperledger fabric)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 【C语言简单说】二:第一个C语言程序详解(3)
- 【C语言简单说】三:整数变量和输出扩展(1)
- 【C语言简单说】三:整数变量和输出扩展(2)
- 【C语言简单说】三:整数变量扩展和输出扩展(3)
- 【C语言简单说】三:浮点数变量和字符变量(4)
- 【C语言简单说】三:变量总结ASCII码扩展(5)
- 【C语言简单说】四:常量
- 【C语言简单说】五:常用运算符
- 【C语言简单说】六:取模运算符以及变量的扩展
- 【C语言简单说】七:自定义函数(1)
- 【C语言简单说】七:自定义函数(2)
- 【C语言简单说】七:自定义函数(3)
- 【C语言简单说】八:分支结构之if(1)
- 【C语言简单说】八:分支结构之if...else...(2)
- 【C语言简单说】八:分支结构之if...else if()...else...(3)