android 浏览器 打开本地html文件的方法有些html文件放在本地磁盘和sdcard,如何用打开这个网页呢?

这种应用在测试时非常有用。

有2个方法:

1. 使用文件管理器

如ES等,需要幸运的是你的文件管理器直接用浏览器打开。

2. 在浏览器输入地址

访问本地磁盘和SD卡上的HTML,前部分content://com.android.htmlfileprovider是Provider的标准,后面是程序目录。

比如sdcard的tesl.html

直接在浏览器里输入content://com.android.htmlfileprovider/sdcard/test.html回车就可以看到网页了。

在代码

webView.loadUrl("content://com.android.htmlfileprovider/sdcard/test.html")

如果是其它程序的私有html文件,这样做会失败。

这是由于com.android.htmlfileprovider的权限不够,如果是重写一个私有的HtmlProvider位于同一个应用中,应该能解决问题。然后就参考了原来的com.android.htmlfileprovider 源代码,改写了下。问题解决了,使用私有的HTMLProvider,可以轻松的访问手机内存中,程序私有目录下的html文件。

网上有例子;

package com.motodev.example;

import java.io.File;

import java.io.FileNotFoundException;

import android.content.ContentProvider;

import android.content.ContentValues;

import android.database.Cursor;

import android.net.Uri;

import android.os.ParcelFileDescriptor;

public class LocalHtmlProvider extends ContentProvider {

public static final Uri CONTENT_URI = Uri

.parse("content://com.motodev.example.localhtmlprovider");

public static final String BASE_URI = "content://com.motodev.example.localhtmlprovider";

public static final int BASE_URI_LEN = BASE_URI.length();

@Override

public int delete(Uri uri, String selection, String[] selectionArgs) {

throw new UnsupportedOperationException();

}

@Override

public String getType(Uri uri) {

String mimetype = uri.getQuery();

return mimetype == null ? "" : mimetype;

}

@Override

public ParcelFileDescriptor openFile(Uri uri, String mode)

throws FileNotFoundException {

if (!"r".equals(mode)) {

throw new FileNotFoundException("Bad mode for " + uri + ": " + mode);

}

String filename = uri.toString().substring(BASE_URI_LEN);

return ParcelFileDescriptor.open(new File(filename),

ParcelFileDescriptor.MODE_READ_ONLY);

}

@Override

public Uri insert(Uri uri, ContentValues values) {

throw new UnsupportedOperationException();

}

@Override

public boolean onCreate() {

return true;

}

@Override

public Cursor query(Uri uri, String[] projection, String selection,

String[] selectionArgs, String sortOrder) {

throw new UnsupportedOperationException();

}

@Override

public int update(Uri uri, ContentValues values, String selection,

String[] selectionArgs) {

throw new UnsupportedOperationException();

}

}

java 安卓 html文件怎么打开方式_android 浏览器 打开本地html文件的方法相关推荐

  1. 电脑上如何打开php文件怎么打开方式,电脑怎么打开php文件

    电脑怎么打开php文件 大家在使用电脑的过程中,可能都有碰到过php文件,可是因为不了解,所以也不知道怎么打开php文件,下面就是小编跟大家分享一篇电脑怎么打开php文件的教程,欢迎大家阅读! php ...

  2. python文件打开后闪退_困扰已久的问题--python文件打开方式?为什么打开py文件会闪退!...

    困扰已久的问题--python文件打开方式?为什么打开py文件会闪退! 当你安装好python时,你能够在python环境下写语句. python环境有两种措施敞开:第一种措施是找到并敞开python ...

  3. 如何通过浏览器访问本地电脑文件

    如何通过浏览器访问本地电脑文件 首先,打开控制面板,找到"程序"点击打开. 找到"启用或关闭windows功能",点击打开 找到"Internet I ...

  4. JAVA打开方式不对怎么搞_.jar文件打开方式没有Java(TM) Platform SE binary怎么办?

    5.7mysql安装教程,https://blog.csdn.net/weixin_44051608/article/details/85163823 .jar文件打开方式没有Java(TM) Pla ...

  5. python打开方式包括_python打开文件的方式有哪些

    python下打开文件超级简单,不用导入任何包,直接输入 f =open('your_file.txt','r') 就可以打开一个文件进行操作.第二个参数为对文件的操作方式,'w'是写文件,已存在的同 ...

  6. 为什么python文件会闪退_困扰已久的问题--python文件打开方式?为什么打开py文件会闪退!...

    当你安装好python时,你可以在python环境下写语句. python环境有两种方式打开:第一种方式是找到并打开python文件夹中的python.exe:第二种方式是Windows系统在搜索输入 ...

  7. xmind 8系列便携版:关联.xmind文件的打开方式后,打开文件会在当前文件夹下产生configuration等子目录的问题解决办法

    问题: 1.xmind文件右键->属性->打开方式更改为XMind.exe 2.双击xmind文件后,产生configuration.p2.workspace子目录 解决办法: 修改XMi ...

  8. html打开方式怎么没有,打开文件时右键菜单中没有“打开方式”怎么办?

    我们的电脑上有各种格式的文件和资料,每个文件都有相应的应用程序可以打开查看,比如听歌要打开酷狗,看视频用优酷,有的文件比如PDF格式就需要下载相应的应用程序才能点开查看.当我们在网上下载了一个文件,想 ...

  9. 微信dat文件用什么软件打开方式_如何打开微信dat文件方式方法有哪些

    微信dat转码软件使用操作说明在线解码,各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢?这里会为大家一一道来.问题1 :如果下载失败怎么办?请先检查网络,软件并没有放在 ...

最新文章

  1. 可执行文件启动器(下)
  2. 双边滤波器在灰度和彩色图像处理中的应用
  3. BZOJ 3203 Luogu P3299 [SDOI2013]保护出题人 (凸包、斜率优化、二分)
  4. Visual C++——LoadBitmap加载位图的操作过程
  5. 什么是 TypeScript 里的 Constructor signature
  6. 有关UITabbarController的一些重要属性
  7. java中某对象的引用什么意思_在java中,引用对象变量和对象间有什么关系?()
  8. JS 中对象的简单创建和继承
  9. 镜头分割:像素域方法综述
  10. python主线程执行回调函数_Python并发编程06 /阻塞、异步调用/同步调用、异步回调函数、线程queue、事件event、协程...
  11. mysql 保存 union_mysql中union 查询
  12. java类构造函数调用顺序_Java中的构造函数调用顺序
  13. 包含负数的二进制补码的加减运算
  14. Redis常用密令以及使用java连接操作redis
  15. Python 自动获取 Bing 壁纸
  16. Recorder+人脸识别︱国内人脸识别技术趋势与识别难点、技术实践
  17. 所有键都无法进入bios(按任何键都进不去bios)
  18. 如何使用Win10搭建我的世界Minecraft服务器
  19. Android app资源监控
  20. 内部披露!最新互联网大厂的薪资和职级一览

热门文章

  1. 工业机器人 答案 韩建海_探秘沈阳高科技机器人产业,玩转辽宁科技馆体验感爆棚...
  2. python中的代码块用啥表示_python代码里出现是啥意思
  3. 11g RAC环境下客户端配置TAF
  4. java blueprint_blueprint(蓝本/蓝图)学习笔记
  5. maven构建Spring项目
  6. WebLogic在Linux环境下安装
  7. java 注解 对象_Java基础-学习使用Annotation注解对象
  8. BTREE与其它索引的优缺点对比
  9. 项目记录:solr4.2 在tomcat7 的两种(singlecore + multicore) 配置安装 及solrj 的初步使用...
  10. 伽利略板子串口驱动安装问题