Android开发之浏览器用法实例详解(调用uc,opera,qq浏览器访问网页)

时间:2021-05-20

本文实例讲述了Android开发之浏览器用法。分享给大家供大家参考,具体如下:

一、启动android默认浏览器

Intent intent = new Intent();intent.setAction("android.intent.action.VIEW");Uri content_url = Uri.parse("https://");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("https://");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"这个形式了。

希望本文所述对大家Android程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章