<Michael> 2019-03-25 15:09 采纳率: 0%
浏览 1524

cordova-fileopenr2 :exposed beyond app through Intent.getData()

cordova打包webapp在使用fileopenr2做在线升级打开安装包时报如下错误:
exposed beyond app through Intent.getData()
但是在下载目录中发现升级包确实存在并且可以直接进行安装。
网上有些博客说 需要修改AndroidManifast.xml中的android:targetSdkVersion为23,
可是修改之后还是一样的效果,下图为ionic环境:
图片说明
跪求解答!!!

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-08 13:00
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    我找到了解决方案。问题在于Intent.getData()方法不能被暴露到外部应用程序。您可以在AndroidManifest.xml文件中添加以下属性来解决此问题:

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
    <application
        ...
    >
    ...
    </application>
    

    然后在您的JavaScript文件中使用以下代码:

    window.open('/path/to/upgradeFile', '_blank');
    

    这样就可以将文件打开并下载到设备上了。

    评论

报告相同问题?