美文网首页工作生活
智能终端软件开发——打开浏览器

智能终端软件开发——打开浏览器

作者: itczt | 来源:发表于2019-07-03 10:52 被阅读0次

使用隐式意图不仅可以启动自己程序中的Activity,还可以启动其它程序中Activity,这使得程序之间可以共享某些功能。例如一个程序需要展示页面,而这时又没必要写一个浏览器,直接调用系统中的浏览器打开网页即可。接下来通过隐式意图来实现打开系统浏览器的功能,具体步骤如下。

1.创建程序

创建一个名为OpenBrowser的应用程序,指定包名为cn.itcast.openbrowser,设计用户交互界面,预览效果图如下:

程序主界面
对应的布局具体代码如下:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/openbrowser"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/main_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/click"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="20dp"
        android:layout_marginStart="20dp"
        android:layout_marginTop="30dp"

        />
</RelativeLayout>

2.编写界面交互代码

在MainActivity中,通过隐式意图打开系统的浏览器访问百度页面,具体代码如下:
MainActivity.java

package com.czt.openbrowser;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button)findViewById(R.id.main_button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                //设置动作为android.intent.action.VIEW
                intent.setAction("android.intent.action.VIEW");
                //设置要打开的网址
                intent.setData(Uri.parse("http://www.baidu.com"));
                startActivity(intent);
            }
        });
    }
}

在上述代码中,通过setAction()设置需要开启Activity的动作为“android.intent.action.VIEW”,这是一个Android系统内置的方法将一个网址字符解析成Uri.parse()方法将一个网址字符串解析成Uri对象,再调用Intent的setData()方法将这个Uri对象传递进去。

运行程序

单击“点击进入”按钮,此时会打开百度页面,运行结果如下:


运行结果

相关文章

网友评论

    本文标题:智能终端软件开发——打开浏览器

    本文链接:https://www.haomeiwen.com/subject/bgnfhctx.html