在我研究了flutter和mpvue后,我决定放弃mui以及flutter和mpvue,至于什么原因,日后文章会说明。目前我用的是vue-cli3+cordova;

但是cordova原生内核毕竟是比较老的,css中使用env可能会导致错误。于是必须引入其他内核最为替代;

目前已知的有crosswalk和腾讯x5内核

crosswalk:我试过,但是放弃了。原因不像网上说的那样是因为安装包大。而是因为我安装不了,各种报错还运行不起来,本着坚持不懈的原则我放弃了!!!╮( ̄▽ ̄")╭

最后我选择了我可以运行起来的x5内核

但是我发现一个很可怕的问题

在第一次运行app,一切的input(type=file)可以调起相册,但是选择照片后无法返回路径????我用的是红米做测试机;

基于我对鹅厂的信任!我甚至一度怀疑是我用的样式框架问题

p.s.我用的是滴滴的cube-ui这个在后期的文章我也会说明

最后用了各种方法测试,框架问题(明知道框架问题导致这个问题的可能性很低,但是我以为选择信任鹅厂);

就在今天,我决定花一天时间根治这个问题??

所以打开了as的debug模式

前端的研究android也是够够了。

好吧不吐槽了,看下我发现了什么

38c14b6df8ef04ec2d29beb76c0db620.png

选择图片以后报错了

错误位置在

56e5445b5d8a93788113310e6498a267.png

百度大法?谷歌大法?

需要使用Uri[] result = android.webkit.WebChromeClient.FileChooserParams.parseResult(resultCode, intent);

替换Uri[] result = FileChooserParams.parseResult(resultCode, intent);

正确的如下

207a32a5034c1784c9bfa87b9dc81c45.png

然后就可以正常上传了

鹅厂出来挨打

当然我希望官方可以处理下这个问题,毕竟我们手动处理只能针对这个问题而处理,不知道是否对其他地方有影响!!!!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐