奔跑的蘑菇
奔跑的蘑菇
  • 发布:2016-10-11 15:53
  • 更新:2019-08-14 10:58
  • 阅读:2020

【报Bug】选择文件和图片的问题

分类:MUI

详细问题描述
[内容]
使用plus.gallery.pick进行多张图片选择时,

plus.gallery.pick(function(e) {  
        var flg=false;  
        if(e.files.length <1) {  
            return;  
        }  
        plus.nativeUI.showWaiting();  
        // 上传图片  
        for(var i=0;i<e.files.length;i++){  
            if(i==e.files.length-1){  
                flg=true;  
            }  
            var galleryFiles = new Array();  
            galleryFiles.push(e.files[i]);  
            uploaderFiles(galleryFiles, flg, e.files.length,i);  
        }  

    }, function(e) {  
        console.log("取消选择图片");  
    }, {  
        filter: "image",  
        multiple:true,  
        maximum: 9-img_num,  
        system: false,  
        onmaxed: function() {  
            plus.nativeUI.alert(pic_txt);  
        }  
    });

未打包生成APK之前,无论是在小米的MIUI系统中还是华为的EMUI系统中,都可以使用,直接进入图片选择界面,但是在生城APK之后,小米的MIUI系统是直接进入文件根目录,而且不能进行多张图片选择,选择一张图片后,并不能返回正确的路径进行上传;
APK包在魅族的Flyme系统之中可以进入图片选择界面,但是没有数量限制,可以无限选择;
APK包在华为EMUI系统中则并没有以上问题


APK运行在小米手机中效果


未生成APK之前,使用Hbuilder运行的效果

使用

//打开选择器,选择文件  
function openFile() {  
    // 导入Activity、Intent类  
    var Intent = plus.android.importClass("android.content.Intent");  
    var Uri = plus.android.importClass("android.net.Uri");  
    // 获取主Activity对象的实例  
    var main = plus.android.runtimeMainActivity();  
    // 创建Intent  
    var uri = Uri.parse("tel:10086");  
    var openFile = new Intent("android.intent.action.GET_CONTENT", uri);  
    openFile.setType("*/*");  
    openFile.addCategory("android.intent.category.OPENABLE");  
    main.startActivityForResult(openFile, PHOTOZOOM);  
}

进行文件选择时,图片不能返回正确的绝对路径,生成APK后,在小米手机和魅族手机中均不能上传文件,华为手机则没有问题

重现步骤
[步骤] 使用plus.gallery.pick进行选择图片操作,并且打包放入原生安卓中
[结果] 在小米手机中不能进行多张图片选择,选择单张并未上传;魅族手机没有进行数量限制
[期望] 直接进入图片选择界面,根据传入的上限进行选择图片,超过上限后进行提示并且禁止再选

运行环境
[系统版本] 红米3S(MIUI 7.3稳定版 安卓 6.0.1) 魅族 MX4 PRO(Flyme 5.6 安卓 5.1.1)
[浏览器版本]
[IDE版本]
[mui版本]

附件
[代码片段]
plus.gallery.pick(function(e) {
var flg=false;
if(e.files.length <1) {
return;
}
plus.nativeUI.showWaiting();
// 上传图片
for(var i=0;i<e.files.length;i++){
if(i==e.files.length-1){
flg=true;
}
var galleryFiles = new Array();
galleryFiles.push(e.files[i]);
uploaderFiles(galleryFiles, flg, e.files.length,i);
}

}, function(e) {  
    console.log("取消选择图片");  
}, {  
    filter: "image",  
    multiple:true,  
    maximum: 9-img_num,  
    system: false,  
    onmaxed: function() {  
        plus.nativeUI.alert(pic_txt);  
    }  
});  

[安装包]

联系方式
[QQ] 1203148813
[电话]

2016-10-11 15:53 负责人:无 分享
已邀请:
Android_磊子

Android_磊子

是云打包吗?建议使用helloH5 示例demo打包测试。
提供下你得安装包。

  • 奔跑的蘑菇 (作者)

    不是云打包,是在androidstudio里打包的,https://yunpan.cn/cvxam5adahF5Y (提取码:c63d)这是APP地址

    2016-10-12 16:50

2***@qq.com

2***@qq.com

打包后,我也是使用小米手机,选取图片之后,没反应,楼主解决了吗

  • 奔跑的蘑菇 (作者)

    换的原生,选图片的时候调用原生方法

    2019-08-29 17:49

该问题目前已经被锁定, 无法添加新回复