Android 打开浏览器的不同方法

来源:互联网 发布:域名实名认证 编辑:程序博客网 时间:2024/05/16 12:31
一、启动android默认浏览器

  1. Intent intent = new Intent();        
  2.   intent.setAction("android.intent.action.VIEW");    
  3.   Uri content_url = Uri.parse("[color=#0066cc]http://www.cnblogs.com[/color]");   
  4.   intent.setData(content_url);  
  5.   startActivity(intent);
复制代码
这样子,android就可以调用起手机默认的浏览器访问。
二、指定相应的浏览器访问
1、指定android自带的浏览器访问

  1. (“com.android.browser”:packagename;“com.android.browser.BrowserActivity”:启动主activity)
  2.   Intent intent = new Intent();        
  3.   intent.setAction("android.intent.action.VIEW");    
  4.   Uri content_url = Uri.parse("[color=#0066cc]http://www.cnblogs.com[/color]");   
  5.   intent.setData(content_url);           
  6.   intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");   startActivity(intent);
复制代码
2、启动其他浏览器(当然该浏览器必须安装在机器上)
只要修改以下相应的packagename 和 主启动activity即可调用其他浏览器

  1. intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");
  2.   uc浏览器":"com.uc.browser", "com.uc.browser.ActivityUpdate“
  3.   opera:"com.opera.mini.android", "com.opera.mini.android.Browser"
  4.   qq浏览器:"com.tencent.mtt", "com.tencent.mtt.MainActivity"
复制代码
三、打开本地html文件
打开本地的html文件的时候,一定要指定某个浏览器,而不能采用方式一来浏览,具体示例代码如下

  1. Intent intent = new Intent();
  2.   intent.setAction("android.intent.action.VIEW");    
  3.   Uri content_url = Uri.parse("content://com.android.htmlfileprovider/sdcard/help.html");   
  4.   intent.setData(content_url);           
  5.   intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");   
  6.   startActivity(intent);
复制代码
关键点是调用了”content“这个filter。
以前有在win32编程的朋友,可能会觉得用这种形式”file://sccard/help.html“是否可以,可以很肯定的跟你说,默认的浏览器设置是没有对”file“这个进行解析的,如果要让你的默认android浏览器有这个功能需要自己到android源码修改manifest.xml文件,然后自己编译浏览器代码生成相应的apk包来重新在机器上安装。

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

  1. <intent-filter>
  2.                   <action android:name="android.intent.action.VIEW" />
  3.                   <category android:name="android.intent.category.DEFAULT" />
  4.                   <category android:name="android.intent.category.BROWSABLE" />
  5.                   <data android:scheme="file" />
  6.               </intent-filter>
复制代码
2、重新编译打包,安装,这样子,新的浏览器就支持”file“这个形式了
原创粉丝点击