android - 如何复制并运行 Android 手机内存中的 html5 文件?

标签 android html

我正在开发一个 android 应用程序,它应该在启动时打开 html 5 文件。我做的是

  1. 我将完整的 html 应用程序保存在 android Assets 文件夹下。
  2. 我无法直接使用 Assets 文件夹的路径在外部浏览器中运行 html 文件,按照我使用的代码

    Intent browserIntent = new Intent("android.intent.action.VIEW",
                     Uri.parse("file:///android_assets/mobile/index.html"));
    startActivity(browserIntent);
    

抛出异常。

  1. 我将这个文件夹发送到手机的内存中,然后我想从那里运行它。

Qn 1. 如何将文件发送到手机内存?

问题 2. 我可以从手机内存中运行该 html 文件吗?

有可能吗??

最佳答案

首先,使用 file:///android_asset/mobile/index.html 代替。虽然文件系统上的目录是 assets/(复数),但 URL 格式使用 asset(单数)。

其次,您无法在其中一项 Assets 上打开 Web 浏览器。您将需要:

  1. 将文件复制到外部存储并在其上启动默认浏览器

  2. 将文件复制到内部存储,创建一个 ContentProvider 来为它们提供服务,并在生成的 content:// 路径上启动默认浏览器

This sample project演示了第二种方法,尽管使用的是单个 PDF 文件而不是 Assets 目录。

第三种可能性是您自己使用 WebView 小部件显示内容。

关于android - 如何复制并运行 Android 手机内存中的 html5 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9258498/

相关文章:

android - 如何从 OnClickListener 调用 Fragment

javascript - AngularJS 和 JSON

html - 像在 Excel 中一样在 HTML 中垂直定位文本

android - 怎么重启手机后一直显示Notification图标?

android - APK "Publish Now"定时 Release模式

javascript - 网页崩溃 Android 浏览器

java - 在 Firebase 类中找不到名称的 setter /字段

javascript - 删除元素上的样式

javascript - 无法第二次检查所有表行

javascript - 如何使用 jquery 删除表中匹配 2 个数据值的行