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


    一、启动Android默认浏览器

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

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

    二、启动指定浏览器打开

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

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

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

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

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

     

    三、优先使用

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

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

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

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

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

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

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

    1. WebView myWebView = (WebView) findViewById(R.id.webview);

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

  • 相关阅读:
    编程面试_数组
    CentOS 7.9 源码编译安装maven
    spring boot英语在线学习系统毕业设计-附源码211714
    1688接口大全及其解析
    数据库安全运维是什么意思?数据库安全运维系统用哪家好?
    1013 Battle Over Cities
    酷开科技 | 酷开系统沉浸式大屏游戏更解压!
    第 6 章: Spring 中的 JDBC
    云服务器CVM_云主机_云计算服务器_弹性云服务器-腾讯云
    【Android】如何快速熟悉项目
  • 原文地址:https://blog.csdn.net/sig321/article/details/136537062