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