Android调用浏览器打开指定页面

一、启动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(<a href="http://www.hao123.com" target="_blank" http://www.hao123.com</a ); 

        以上所述是小编给大家介绍的android 使用浏览器打开指定页面的实现方法,希望对大家有所帮助。

相关推荐

  1. Android调用浏览器打开指定页面

    2024-03-11 14:02:04       51 阅读
  2. vue 跳转页面打开浏览器新窗口或者打开新标签

    2024-03-11 14:02:04       29 阅读
  3. web页面与原生android通信,调用原生android方法

    2024-03-11 14:02:04       30 阅读
  4. 使用 adb 命令打开 Android 设备的 WiFi 设置页面

    2024-03-11 14:02:04       43 阅读
  5. Vue页面生成PDF后调起浏览器打印

    2024-03-11 14:02:04       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-11 14:02:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-11 14:02:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-11 14:02:04       87 阅读
  4. Python语言-面向对象

    2024-03-11 14:02:04       96 阅读

热门阅读

  1. antd Tree拖拽位置说明

    2024-03-11 14:02:04       37 阅读
  2. C++基础语法和概念

    2024-03-11 14:02:04       32 阅读
  3. mysql 分组取前10条数据

    2024-03-11 14:02:04       41 阅读
  4. MySql的CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP

    2024-03-11 14:02:04       42 阅读
  5. LeetCode 每日一题 2024/3/4-2024/3/10

    2024-03-11 14:02:04       29 阅读
  6. Python-OpenCV-边缘检测

    2024-03-11 14:02:04       39 阅读
  7. connection.query()和 connection.execute()

    2024-03-11 14:02:04       47 阅读
  8. Chromedriver安装新版本时需要先卸载旧版本么?

    2024-03-11 14:02:04       47 阅读
  9. 【Python】正则

    2024-03-11 14:02:04       50 阅读
  10. [蓝桥杯 2018 省 B] 递增三元组

    2024-03-11 14:02:04       48 阅读