再识Intent-实现调用Android内置浏览器打开网页

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36407875/article/details/53641377

本篇博客主要讲解如何使用Intent来实现调动Android内置浏览器打开网页
本篇博客实现的是一个简单的输入网址打开网页的Demo

实现步骤:
  1. 实例化一个Intent对象
  2. 使用Uri.parse()方法解析网页地址
  3. intent.setAction()方法 PS:action规定了intent要完成的动作,是一个字符串常量,可以使系统自定义的action,比如本博客使用的ACTION_VIEW。
  4. intent.setData()方法,传入的是Uri,用于数据过滤,可以让系统自动自动去寻找匹配目标组件

界面设计展示

MainActivity的布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
    tools:context="com.ggq.intent_openweb.MainActivity"
    android:weightSum="1">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="网址:"
            android:id="@+id/tv1" />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/et_web"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:gravity="center"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="打开网页"
            android:id="@+id/btn_oepn"
            android:textSize="25dp" />
    </LinearLayout>
</LinearLayout>


Java代码实现

MainActivity代码:

package com.ggq.intent_openweb;

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

public class MainActivity extends AppCompatActivity {
   private EditText et_web=null;
   private Button btn_open=null;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn_open = (Button) findViewById(R.id.btn_oepn);
        et_web = (EditText) findViewById(R.id.et_web);
        btn_open.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                String address = et_web.getText().toString().trim();
                Intent intent = new Intent();
                Uri uri = Uri.parse(address);
                intent.setAction(Intent.ACTION_VIEW);
                intent.setData(uri);
                MainActivity.this.startActivity(intent);

            }
        });
    }
}


最终效果

布局效果 打开内置浏览器

猜你喜欢

转载自blog.csdn.net/qq_36407875/article/details/53641377