不操千曲而后晓声,观千剑而后识器。这篇文章主要讲述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】下进行配置
文章图片
【ionic 插件Image Picker 安卓闪退问题】(三)权限 ---同ionci3(三)
推荐阅读
- Chrome真机调试webapp
- 安卓目录介绍
- android studio遇到的一些列问题
- Android UIAutomator 自动化测试 简介
- arduino ESP32 AndroidStudio BLE低功耗蓝牙 物联网
- Android Studio3.3打包报错AAPT2 process unexpectedly exit. Error output:
- 网站设计SEO指南详细解释
- SEO优化之虚拟主机
- SEO优化(网站地图的设置)