资讯专栏INFORMATION COLUMN

ionic1使用imagepicker在安卓手机上闪退问题

EscapedDog / 2452人阅读

摘要:在上一篇文章中,提到了如何在中使用插件,并且实现该插件显示中文汉化问题有兴趣可以看看使用插件并且显示中文汉化这次要解决的问题是在一些手机上打开相册时,莫名闪退问题。,没有闪退,运行正常。这样就能在以上的手机使用参考相册插件和监听返回键

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/107359.html

相关文章

  • ionic1使用imagepicker安卓手机闪退问题

    摘要:在上一篇文章中,提到了如何在中使用插件,并且实现该插件显示中文汉化问题有兴趣可以看看使用插件并且显示中文汉化这次要解决的问题是在一些手机上打开相册时,莫名闪退问题。,没有闪退,运行正常。这样就能在以上的手机使用参考相册插件和监听返回键 在上一篇文章中,提到了如何在ionic1中使用imagepicker插件,并且实现该插件显示中文(汉化)问题有兴趣可以看看:ionic1使用ImageP...

    CatalpaFlat 评论0 收藏0
  • ionic1使用ImagePicker插件并且显示中文(汉化)

    摘要:在使用开发时,打开相册应该是使用比较频繁的插件之一。解决办法可以看我另一篇文章使用在安卓手机上闪退问题参考文献之图片选择插件使用插件中文显示 在使用ionic开发时,打开相册应该是使用比较频繁的插件之一。下面讲讲我在项目中使用(这部分官方比较详细,就简单描述)以及解决插件显示英文问题 1、imagepicker安装cordova plugin add cordova-plugin-im...

    Vultr 评论0 收藏0
  • ionic1使用ImagePicker插件并且显示中文(汉化)

    摘要:在使用开发时,打开相册应该是使用比较频繁的插件之一。解决办法可以看我另一篇文章使用在安卓手机上闪退问题参考文献之图片选择插件使用插件中文显示 在使用ionic开发时,打开相册应该是使用比较频繁的插件之一。下面讲讲我在项目中使用(这部分官方比较详细,就简单描述)以及解决插件显示英文问题 1、imagepicker安装cordova plugin add cordova-plugin-im...

    liuyix 评论0 收藏0
  • 一步一步开发安卓下的react-native应用系列之进阶篇

    摘要:首先我们打开命令行,切换到项目根目录下,输入安装完成后,请注意,需要把目录下的所有字体文件拷贝到目录下,如果没有该目录,请自行创建。         看过我前面文章的朋友们现在应该能正常运行自己的第一个RN应用了,那都是小儿科,现在我们来做点进阶一点的东西。这篇文章有一些属于干货性的东西,请仔细阅读。特别需要注意我加粗的部分。        首先我们来看下js文件结构,在项目初始化成功...

    xioqua 评论0 收藏0

发表评论

0条评论

EscapedDog

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<