在上一篇文章中,提到了如安在ionic1中运用imagepicker插件,而且完成该插件显现中文(汉化)题目
有兴致能够看看:ionic1运用ImagePicker插件而且显现中文(汉化)
1、这次要处置惩罚的题目是app在一些手机上翻开相册时,莫名闪退题目。
在上一篇文章中我们如许运用imagepicker插件。经由过程衔接手机联调后,能够检察相干的毛病缘由error
$scope.openImagePicker= () => {
const options = {
maximumImagesCount: 11, // 许可一次选中的最多照片数目
width: 800, // 挑选宽度
height: 600, //挑选高度
quality: 100 //图象质量的大小,默以为100
};
$cordovaImagePicker.getPictures(options)
.then(results => {
console.log("选中的照片返回一个照片地点数组,能够直接在html中绑定");
$scope.imgList = results;
}, error => {
console.log(error);
console.log("翻开照片失利");
});
};
2、晓得缘由就好处置惩罚了,在手机设置中把这个app的相干权限开启,然后在翻开相册。ok,没有闪退,运转一般。然则我们固然没法让用户这么做,所以照样要从想办法处置惩罚猎取权限题目
3、处置惩罚闪退要领
3.1 从新下载一个插件,能够替换一个插件
cordova plugin remove cordova-plugin-image-picker // 先移除本来的插件
cordova plugin add https://github.com/Findiglay/cordova-imagePicker.git // 在增加新的插件
已做过权限猎取处置惩罚,这里就不在空话,想相识能够去github检察
3.2 运用猎取权限的插件cordova-plugin-android-permissions
cordova plugin add cordova-plugin-android-permissions // 装置插件
在js中
angular.module("app").run(["$rootScope", "i18n", "$ionicPlatform",
function ($rootScope, $ionicPlatform) {
"use strict";
function checkPermissions() {
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);
}
ionic.Platform.ready(() => {
try {
$ionicPlatform.is("Android") && checkPermissions();
} catch (e) {
console.warn("Application is running in browser causes inspection failed.");
}
});
}]);
如许在app环境准备好后,归去接见相册权限, 和存储权限,假如没有开启,则讯问用户,只需用户开启权限就能够了。如许就能在android 6以上的手机运用imagepicker