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

简介:

一、启动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,如需转载请自行联系原作者

相关文章
|
1月前
|
存储 缓存 监控
|
27天前
|
域名解析 网络协议 前端开发
浏览器输入域名网址访问后的过程详解
1、以91处理网为例,客户端浏览器通过DNS解析到www.91chuli.com,IP地址是202.108.22.5,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到202.108.22.5,然后通过TCP进行封装数据包,输入到网络层。
34 2
|
4月前
|
JavaScript 前端开发 开发工具
TypeScript的介绍,let age:number = xxx,可以直接看出数据类型,Type由微软开发,可以在任何浏览器和系统中运行,比较适合大型项目,TypeScript的安装
TypeScript的介绍,let age:number = xxx,可以直接看出数据类型,Type由微软开发,可以在任何浏览器和系统中运行,比较适合大型项目,TypeScript的安装
|
2月前
|
Web App开发 存储 安全
Python编写脚本,打开浏览器输入网址,自动化登陆网站
Python编写脚本,打开浏览器输入网址,自动化登陆网站
94 4
|
3月前
|
机器学习/深度学习 人工智能 前端开发
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
使用TensorFlow.js在浏览器中进行情感分析是一个非常实用的应用场景。TensorFlow.js 是一个用于在JavaScript环境中训练和部署机器学习模型的库,使得开发者能够在客户端直接运行复杂的机器学习任务。对于情感分析,我们可以使用预先训练好的模型来识别文本中的积极、消极或中性情感。
109 4
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
|
3月前
Edge——如何打开IE浏览器进行访问
Edge——如何打开IE浏览器进行访问
70 4
|
4月前
|
安全 网络安全
用IE浏览器访问网站提示证书错误
当你在Internet Explorer中遇到证书错误提示,通常是因网站SSL/TLS证书问题或浏览器安全设置需调整。解决方法包括: 检查时间设置 调整IE设置 安装证书 调整计算机时间
113 3
|
4月前
|
Web App开发 安全 Linux
Linux系统之安装Firefox浏览器
【7月更文挑战第8天】Linux系统之安装Firefox浏览器
273 9
|
4月前
|
域名解析 Web App开发 缓存
在浏览器上输入一个网址后,发生了什么?/HTTP的工作流程/DNS域名解析过程
在浏览器上输入一个网址后,发生了什么?/HTTP的工作流程/DNS域名解析过程
|
5月前
|
Shell
5.Electron之shell(使用系统默认浏览器打开网页)
5.Electron之shell(使用系统默认浏览器打开网页)