调用系统默认浏览器访问网址

简介:

一、启动android默认浏览器

 

    Intent intent= new Intent();        
    intent.setAction("android.intent.action.VIEW");    
    Uri content_url = Uri.parse("http://www.cnblogs.com");   
    intent.setData(content_url);  
    startActivity(intent);

这样子,android就可以调用起手机默认的浏览器访问。


 

二、指定相应的浏览器访问


1、指定android自带的浏览器访问

( “com.android.browser”:packagename   ;“com.android.browser.BrowserActivity”:启动主activity)


                Intent intent= new Intent();        
                intent.setAction("android.intent.action.VIEW");    
                Uri content_url = Uri.parse("http://www.cnblogs.com");   
                intent.setData(content_url);           
                intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");   
                startActivity(intent);

2、启动其他浏览器(当然该浏览器必须安装在机器上)


只要修改以下相应的packagename 和 主启动activity即可调用其他浏览器


 

intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");

uc浏览器":"com.uc.browser", "com.uc.browser.ActivityUpdate“

opera    :"com.opera.mini.android", "com.opera.mini.android.Browser"


qq浏览器:"com.tencent.mtt", "com.tencent.mtt.MainActivity"

 

三、打开本地html文件

打开本地的html文件的时候,一定要指定某个浏览器,而不能采用方式一来浏览,具体示例代码如下

 

                Intent intent= new Intent();        
                intent.setAction("android.intent.action.VIEW");    
                Uri content_url = Uri.parse("content://com.android.htmlfileprovider/sdcard/help.html");   
                intent.setData(content_url);           
                intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");   
                startActivity(intent);
 

关键点是调用了”content“这个filter。

以前有在win32编程的朋友,可能会觉得用这种形式”file://sccard/help.html“是否可以,可以很肯定的跟你说,默认的浏览器设置是没有对”file“这个进行解析的,如果要让你的默认android浏览器有这个功能需要自己到android源码修改manifest.xml文件,然后自己编译浏览器代码生成相应的apk包来重新在机器上安装。

大体的步骤如下:

1、打开 packages/apps/Browser/AndroidManifest.xml文件把加到相应的<intent-filter>后面就可以了

 

      <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="file" />
            </intent-filter>
2、重新编译打包,安装,这样子,新的浏览器就支持”file“这个形式了


有兴趣的可以去试试。



本文转自java豆子博客园博客,原文链接:http://www.cnblogs.com/error404/archive/2011/11/16/2251065.html,如需转载请自行联系原作者

相关文章
|
5月前
|
Nacos
服务器部署 Nacos 获取不到配置浏览器可以访问
[Nacos Config] config[dataId=ruoyi-auth.yml,group=DEFAULT_GROUP] is empty、Nacos无法注册、gRPC、端口偏移
119 0
服务器部署 Nacos 获取不到配置浏览器可以访问
|
6月前
|
Web App开发 缓存 数据安全/隐私保护
如何利用系统内存盘提升你的浏览器上网速度
内存盘这个东东大家应该都知道,内存的读写速度要远远高于硬盘,而我们日常上网浏览器都缓存在硬盘,为了进一步加速,内存盘这个东东就诞生了,虚拟内存大家应该都知道,就是把硬盘的一部分空间划分给内存使用,而内存盘恰恰相反,就是把内存划分出来创建一个新的盘符,这个分区的读写速度极高,大家可以吧日常上网的缓存文件丢进去,例如QQ和浏览器的缓存,今天和大家分享的是软媒魔方的一个小工具,叫做魔方内存盘,如果已经安装过魔方电脑大师的童鞋直接开启此功能就行了,没有的话也没关系,本站制作了单文件版,大小只有271kb,大家下载后即可使用。
|
6月前
|
JavaScript 对象存储
在阿里云OpenAPI 为什么oss 图片链接, 在浏览器访问直接下载了,不是预览呢?
在阿里云OpenAPI 为什么oss 图片链接, 在浏览器访问直接下载了,不是预览呢?
434 1
|
10天前
|
Ubuntu 关系型数据库 MySQL
如何在Ubuntu使用宝塔部署Emlog网站并发布到公网实现任意浏览器访问
如何在Ubuntu使用宝塔部署Emlog网站并发布到公网实现任意浏览器访问
|
6月前
|
域名解析 缓存 安全
图解域名解析成IP的全过程(你浏览器摁下一个网址后发生了啥?)
图解域名解析成IP的全过程(你浏览器摁下一个网址后发生了啥?)
106 0
|
2月前
|
域名解析 应用服务中间件 对象存储
解决阿里云oss图片浏览器访问直接下载而不是打开
解决阿里云oss图片浏览器访问直接下载而不是打开
354 0
|
2月前
|
缓存 网络协议 前端开发
浏览器访问缓存都发生了什么
浏览器访问缓存都发生了什么
|
3月前
|
数据采集 安全 Go
一文看懂 如何操作浏览器访问网页
一文看懂 如何操作浏览器访问网页
33 0
|
4月前
|
Web App开发 Linux Windows
linux安装浏览器 linux本地浏览器进行访问
linux安装浏览器 linux本地浏览器进行访问
|
4月前
【JavaWeb学习】—手托html页面和在浏览器中输入地址访问的背后不同原因(十一)
【JavaWeb学习】—手托html页面和在浏览器中输入地址访问的背后不同原因(十一)

热门文章

最新文章