gpt4 book ai didi

Android加载本地html文件并在网络浏览器中显示

转载 作者:行者123 更新时间:2023-11-30 03:22:11 25 4
gpt4 key购买 nike

加载非本地网页的代码工作正常,但是当我放置本地文件时出现错误:找不到文件。我正在使用 cocos2dx,在包含 Activity 的 file.java 中,我有一个函数:

File file=new File("/android_asset/iCD_credits_it.html");
Uri uri = Uri.fromFile(file);
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setDataAndType(uri, "text/html");
browserIntent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
//browserIntent.setData(uri);
me.startActivity(browserIntent);

我把iCD_credits_it放在了Resource文件夹里,我可以在eclipse的assets文件夹里看到它如何在浏览器中显示该网页?谢谢

最佳答案

这里有几个问题。

首先,设备根目录下没有/android_asset目录,更不用说里面有iCD_credits_it.html文件了。

其次,您的 setClassName() 将导致此代码在许多设备上崩溃。 不要硬编码包名和类名,除非您只打算在自己的设备上运行您的应用。

第三,文件要么在“资源文件夹中”,要么在“ Assets 文件夹中”,或者您有文件的两个副本。资源和 Assets 虽然相似,但不是一回事。

第四,您将很难找到能够从项目的资源或 Assets 中读取文件的浏览器。 Assets 根本不可能;找到一个可以从您的原始资源中读取 HTML 的浏览器是不可能的。

或者:

  • 使用 WebView 并自己显示,或者

  • 编写您自己的 ContentProvider 以从项目的 assets/ 中提供您的 HTML,或者

  • 尝试 my StreamProvider对于“ jar 装”ContentProvider,它可以从项目的 assets/ 中提供文件,或者

  • 将文件复制到外部存储(例如,getExternalFilesDir())并尝试让浏览器从那里加载它

只有第一个保证有效。其他的将根据用户使用的浏览器的功能而有所不同。

关于Android加载本地html文件并在网络浏览器中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18937491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com