今天,简单讲讲android里如何使用浏览器打开指定的网页。

之前,我做一个功能时,服务器返回一个url地址,我需要跳转到指定网页。却发现自己不知道怎么做,在网上搜索了资料,最终是解决了问题。这里记录一下。

启动android默认浏览器

在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。如果手机本身安装了多个浏览器而又没有设置默认浏览器的话,系统将让用户选择使用哪个浏览器来打开连接。

Uri uri = Uri.parse("https://www.baidu.com");Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);

启动指定浏览器打开

在Android程序中我们可以通过发送显式Intent来启动指定的浏览器。例如我手机安装了多个浏览器:QQ浏览器、chrome浏览器、uc浏览器。我可以指定用某个浏览器打开这个链接。例如打开QQ浏览器如下代码:

Uri uri = Uri.parse("https://www.baidu.com");Intent intent = new Intent(Intent.ACTION_VIEW,uri);//intent.setClassName("com.UCMobile","com.uc.browser.InnerUCMobile");//打开UC浏览器intent.setClassName("com.tencent.mtt","com.tencent.mtt.MainActivity");//打开QQ浏览器startActivity(intent);

用uc浏览器打开只需要把打开qq浏览器那行代码注释掉,然后打开uc浏览器那行代码取消注视就行。

也可以指定系统自带的浏览器:

Intent intent = new Intent();intent.setAction("android.intent.action.VIEW");Uri content_url = Uri.parse("http://www.baidu.com");   intent.setData(content_url);  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");mContext.startActivity(intent);

优先使用

推荐用第一种,让用户自己去选择用哪个浏览器打开。除非有特殊需求才会用到第二种。

第二种出错率比较高,假如你想用uc浏览器打开,但是新版本的uc浏览器不用原来的包名了,这个时候你就没法打开了。还有uc浏览器兼容有问题,我跳转过去只会显示UC首页,而不是直接提打开我提供的http链接。但是QQ浏览器就没有这个问题。


简单讲讲,其实使用浏览器打开网页就是使用intent跳转到浏览器,设置intent的Action为Intent.ACTION_VIEW,然后设置intent的Data为网址的URI,就可以使用系统的浏览器打开网页。如果需要跳转到具体的浏览器,只需设置setClassName为具体浏览器的包名和activity名称,具体的在代码里写的很详细。

这里还可以使用WebView打开网页,也很简单。

1、自定义一个简单的WebView浏览器,设置下面属性:

mWebView = (ProgressWebView) findViewById(R.id.baseweb_webview);  mWebView.getSettings().setJavaScriptEnabled(true);  mWebView.setWebViewClient(new WebViewClient());

2、指定需要打开的额网页,在自定义的WebViewActivity中打开,如:

WebView myWebView = (WebView) findViewById(R.id.webview);  myWebView.loadUrl(http://www.hao123.com);


android 使用浏览器打开指定页面就讲完了。

就这么简单。



更多相关文章

  1. 移动开发者最爱的9个优秀Android代码编辑器
  2. Eclipse与Android源码中ProGuard工具的使用(代码混淆)
  3. Anroid-vlc开源播放器代码编译及简单调用手把手
  4. 浅谈android代码保护技术_ 加固
  5. 《第一行代码Android》学习总结第七章 运行时权限
  6. 用Go语言写Android应用 (2) - 从Android的Java调用Go代码
  7. Android 性能优化:使用 Lint 优化代码、去除多余资源
  8. 关于代码家(干货集中营)共享知识点汇总系列——Android

随机推荐

  1. TCPIP卷一(6):距离矢量与链路状态 路由选择
  2. docker进程分析
  3. 同城异地灾备
  4. TCPIP卷一(5):Classless【无类】与Classful
  5. 容器化应用
  6. TCPIP卷一(4):静态路由案例分析
  7. 围城
  8. 话说 AQS
  9. 缓存--序
  10. TCPIP卷一(3):静态路由与CEF下的负载均衡