greenboy
greenboy
  • 发布:2020-04-22 08:07
  • 更新:2020-08-10 18:09
  • 阅读:1620

【报Bug】使用20200104版本的SDK 离线打包后 使用uni.openDocument() 无法调起第三方的能打开此文件的应用

分类:uni-app

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]
使用uni.openDocument()打开一个下载的pdf文件 离线打包后 文件的tempFilePath路径已经获取到了 但是uni.openDocument打开的时候一直无法调起第三方应用

重现步骤

[步骤]

[结果]

[期望]
能正确打开第三方应用

IDE运行环境说明

Android Studio 3.6.3版本

HBuildX版本:2.5.1.20200103

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

app

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式说明:自定义组件模式?纯nvue模式?v3模式?]

自定义组件模式

App运行环境说明

[Android版本号]
测试手机:Honor 10 Lite Android版本10.0.0
[iOS版本号]
iOS功能正常
[手机型号]
HRY-AL00a

附件

附件照片文件以及下载下来,并且以及获取到路径 但是uni.openDocument()无法启动第三方应用
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
查看Android Studio 发现有错误日志:
2020-04-22 07:50:22.704 32192-32192/com.sheyuan.dzseller W/System.err: org.json.JSONException: Value null of type org.json.JSONObject$1 cannot be converted to JSONObject
2020-04-22 07:50:22.704 32192-32192/com.sheyuan.dzseller W/System.err: at org.json.JSON.typeMismatch(JSON.java:112)
2020-04-22 07:50:22.704 32192-32192/com.sheyuan.dzseller W/System.err: at org.json.JSONObject.<init>(JSONObject.java:168)
2020-04-22 07:50:22.704 32192-32192/com.sheyuan.dzseller W/System.err: at org.json.JSONObject.<init>(JSONObject.java:181)
2020-04-22 07:50:22.704 32192-32192/com.sheyuan.dzseller W/System.err: at io.dcloud.feature.pdr.RuntimeFeatureImpl.execute(RuntimeFeatureImpl.java:239)
2020-04-22 07:50:22.704 32192-32192/com.sheyuan.dzseller W/System.err: at io.dcloud.common.adapter.util.MessageHandler$1.handleMessage(MessageHandler.java:23)
2020-04-22 07:50:22.705 32192-32192/com.sheyuan.dzseller W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107)
2020-04-22 07:50:22.705 32192-32192/com.sheyuan.dzseller W/System.err: at android.os.Looper.loop(Looper.java:213)
2020-04-22 07:50:22.705 32192-32192/com.sheyuan.dzseller W/System.err: at android.app.ActivityThread.main(ActivityThread.java:8147)
2020-04-22 07:50:22.705 32192-32192/com.sheyuan.dzseller W/System.err: at java.lang.reflect.Method.invoke(Native Method)
2020-04-22 07:50:22.705 32192-32192/com.sheyuan.dzseller W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
2020-04-22 07:50:22.705 32192-32192/com.sheyuan.dzseller W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:604)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:578)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:416)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at io.dcloud.common.util.ApkUtils.getDataAndTypeIntent(ApkUtils.java:648)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at io.dcloud.common.adapter.util.PlatformUtil.openFileBySystem(PlatformUtil.java:183)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at io.dcloud.feature.pdr.RuntimeFeatureImpl.execute(RuntimeFeatureImpl.java:247)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at io.dcloud.common.adapter.util.MessageHandler$1.handleMessage(MessageHandler.java:23)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at android.os.Looper.loop(Looper.java:213)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at android.app.ActivityThread.main(ActivityThread.java:8147)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at java.lang.reflect.Method.invoke(Native Method)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
2020-04-22 07:50:22.707 32192-32192/com.sheyuan.dzseller W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
2020-04-22 07:50:53.229 32192-32192/com.sheyuan.dzseller W/SGBackgroud: type=1400 audit(0.0:1193854): avc: granted { execute } for pid=32192 path="/data/data/com.sheyuan.dzseller/app_SGLib/app_1587512986/main/libsgsecuritybodyso-5.4.79.so" dev="mmcblk0p71" ino=36975 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]
uni.downloadFile({
url: 'https://static.sheyuan.com/wtsq.pdf',
success: (res) => {
if (res.statusCode === 200) {
console.log('下载成功:' + JSON.stringify(res));
var filePath = res.tempFilePath;
// print("filePath = " + filePath)
// #ifdef APP-PLUS
plus.nativeUI.alert(filePath, function(){
console.log("User pressed!");
}, "nativeUI", "OK");
// #endif

                        uni.openDocument({  
                            filePath: filePath,  
                            fileType: 'pdf',  
                            success: function(res) {  
                                console.log('打开文档成功');  
                            }  
                        });  
                    }  
                }  
            });  

联系方式

360315247@qq.com
[QQ]

2020-04-22 08:07 负责人:无 分享
已邀请:
oootaooo

oootaooo

我跟楼主遇到的同样的问题,日志几乎一摸一样都是报的json错误,我的解决办法是安卓打包的时候去掉了混淆,遇到相同问题的小伙伴们可以尝试下

oootaooo

oootaooo

还可以尝试
https://nativesupport.dcloud.net.cn/AppDocs/FAQ/android

参考以上链接 离线打包无法调起应用安装界面 配置

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