Android 应用指定浏览器开发实例

作者:lqh 时间:2022-02-10 03:34:09 

  本文主要讲解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");

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文件的时候,一定要指定某个浏览器,而不能采用方式一来浏览,具体示例代码如下:

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,指定浏览器
0
投稿

猜你喜欢

  • 关于Springboot数据库配置文件明文密码加密解密的问题

    2023-11-25 03:29:46
  • 详解Java中LinkedHashMap

    2022-05-23 16:24:45
  • android Animation监听器AnimationListener的使用方法)

    2022-07-03 00:55:57
  • C#实现将DataTable内容输出到Excel表格的方法

    2023-05-01 15:20:38
  • java 实现定时的方法及实例代码

    2023-03-31 22:48:41
  • Java生成含字母和数字的6位随机字符串

    2023-04-02 02:28:58
  • C#利用com操作excel释放进程的解决方法

    2022-08-02 07:01:28
  • Springboot - Fat Jar示例详解

    2023-11-19 21:28:35
  • java之使用多线程代替for循环(解决主线程提前结束问题)

    2021-11-21 01:23:55
  • Java中StringBuilder与StringBuffer使用及源码解读

    2022-05-16 09:11:18
  • 解决Maven本地仓库明明有对应的jar包但还是报找不到的问题

    2022-07-21 23:12:07
  • 使用Spring Expression Language (SpEL)全面解析表达式

    2021-11-19 08:07:10
  • java实现登录窗口

    2023-11-24 18:09:31
  • java中struts2实现简单的文件上传与下载

    2022-12-23 22:53:21
  • springboot快速整合Mybatis组件的方法(推荐)

    2022-03-23 11:59:15
  • springboot无法从静态上下文中引用非静态变量的解决方法

    2022-03-05 16:50:05
  • 从java中调用matlab详细介绍

    2023-08-01 14:04:17
  • springBoot Junit测试用例出现@Autowired不生效的解决

    2023-01-24 12:57:59
  • Android ViewDragHelper使用介绍

    2023-08-01 04:18:59
  • 详解C++ STL模拟实现forward_list

    2023-06-21 02:36:04
  • asp之家 软件编程 m.aspxhome.com