ionic1运用imagepicker在安卓手机上闪退题目

在上一篇文章中,提到了如安在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

参考: ionic cordova相册插件和监听Android返回键

    原文作者:嘉恩Gavin
    原文地址: https://segmentfault.com/a/1190000013241439
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞