欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 浏览器的开发实例分享

程序员文章站 2024-03-07 17:08:21
 本文主要讲解android浏览器的开发实例,有三部分内容:启动android默认浏览器、指定浏览器进行访问以及打开本地的html文件。   ...

 本文主要讲解android浏览器的开发实例,有三部分内容:启动android默认浏览器、指定浏览器进行访问以及打开本地的html文件。

       一、启动android默认浏览器

java代码

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)

java代码

intent intent = new intent();      
intent.setaction("android.intent.action.view");    
uri content_url = uri.parse("http://www.jizhuomi.com/android");   
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");

  1.   uc浏览器":"com.uc.browser", "com.uc.browser.activityupdate“
  2.   opera:"com.opera.mini.android", "com.opera.mini.android.browser"
  3.   qq浏览器:"com.tencent.mtt", "com.tencent.mtt.mainactivity"

  三、打开本地html文件

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

java代码

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>后面就可以了。

xml/html代码
<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 浏览器的开发的示例代码,希望能帮助开发此功能的朋友,谢谢大家的支持!