ionic android 闪退,ionic 插件Image Picker 安卓闪退问题

缘由:

针对ionic+cordova+angular 开发APP时,当需要选择多个图片时,则需要ImagePicker 插件。不过,安卓版本大于6.0的时候,改插件是需要授权的:相册权限和存储权限。若没有权限,则会闪退。

一、ionic3

(一)安装插件

npm安装插件,命令语句

cordova plugin add com.synconset.imagepicker@2.1.8cordova 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(三)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值