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
ionic1使用imagepicker在安卓手机上闪退问题的更多相关文章
- 关于极光推送在手机系统低于iOS10的手机上闪退的问题。
最近项目中用到了极光推送,升级到了最新的SDK 2.1.9版本,发现只能在iOS10 上运行,其他测试的时候真机闪退.贴上一个可能的原因:
- 在安卓手机上通过虚拟机运行Windows XP
转自:https://www.ithome.com/html/android/302170.htm 细数当年的桌面版Windows,似乎针对ARM架构处理器的版本并不多,小编曾用过一段时间的Windo ...
- 安卓手机上安装 谷歌 play 商店
安卓手机上安装 谷歌 play 商店 安卓(Android)就是现在流行的智能手机系统,它是由Google公司和开放手机联盟领导及开发.由于安卓系统的底层代码(AOSP)是开源的,以GPL和Apach ...
- 安卓手机上运行 PC-E500 程序
目录 第1章安卓手机上运行 PC-E500 程序 1 1 PockEmul 1 2 下载 1 3 打包BASIC程序 2 4 配置PC-E500模拟器 5 5 载入e50 ...
- libmad和libmpg123解码mp3在安卓手机上的比较
libmad和libmpg123解码mp3在安卓手机上的比较1. libmad 选自 http://sourceforge.net/projects/mad libmad-0.15.1b.tar.g ...
- input type = file 在部分安卓手机上无法调起摄像头和相册
移动端H5web 用input type = file 在部分安卓手机上无法调起摄像头拍照,有的也无法访问相册而是直接访问了文档,解决办法是: 加上 accept = "image/*&qu ...
- 安卓手机上微信无法打开Https网址的完美解决方案
1,第三方网站检测网站的SSL证书是否正确的安装 https://www.geocerts.com/ssl-checker,大概率你会看到下边的场景,一个证书链完整的警告,如果想知道我的基础配置是什么 ...
- 在安卓(手机)上运行 Ubuntu (Linux)
在安卓(手机)上运行 Ubuntu (Linux) 由于x86 和 arm 是跨平台的,所使用的编译器自然也不同.如果要在电脑上编译安卓手机上的程序,则需在电脑端建立ARM交叉编译环境,这个过程是在耗 ...
- Andriod部分手机频繁闪退,vivo y55a等,Skipped 62 frames! The application may be doing too much work on its main thread
问题描述: 部分手机频繁闪退的问题.比如:vivo y55a,在升级.交任务.穿戴装备等都有概率闪退... 表现: 卡几帧就马上闪退. 在学习技能.穿戴装备.升级等概率出现,新角色第3个任务“拦截少年 ...
随机推荐
- ajax调用,action返回的中文为乱码的解决方案
原文:ajax调用,action返回的中文为乱码的解决方案 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.c ...
- RBAC(基于角色的访问控制)用户权限管理数据库设计
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...
- php 中php-fpm工作原理
1.CGI 是服务器与后台语言交互的协议,有了这个协议,开发者可以使用任何语言处理服务器转发过来的请求,动态地生成内容, 保证了传递过来的数据是标准格式的(规定了以什么样的格式传哪些数据(URL.查询 ...
- Spark运行时的内核架构以及架构思考
一: Spark内核架构 1,Drive是运行程序的时候有main方法,并且会创建SparkContext对象,是程序运行调度的中心,向Master注册程序,然后Master分配资源. 应用程序: A ...
- struts.xml中package标签的子标签及顺序
记录一下:
- 转载:Linux目录文件的权限查看与修改
######################################## ...
- 利用selenium 爬取豆瓣 武林外传数据并且完成 数据可视化 情绪分析
全文的步骤可以大概分为几步: 一:数据获取,利用selenium+多进程(linux上selenium 多进程可能会有问题)+kafka写数据(linux首选必选耦合)windows直接采用的是写my ...
- poj 1953 World Cup Noise (dp)
World Cup Noise Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 16774 Accepted: 8243 ...
- 2019.9.19HTML基础
html:超文本标记语言,不是编程语言,是标签语言,显示数据. 有双标签和单标签 双标签:有开始有结束,<body></body> 单标签:只有一个.<img src=# ...
- 了解并安装Nginx
公司使用nginx作为请求分发服务器,发现本人在查看nginx配置上存在些许困难,故仔细阅读了陶辉的<深入理解nginx模块开发与框架>第一部分,并作此记录. 了解 我根据书上的思路来了解 ...