Intent 使用Action 和Data 属性启动系统activity

本文介绍如何通过设置Action和data属性来启动Android系统的不同Activity,包括浏览网页、编辑联系人及拨打电话的功能实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实例 使用 Action 和 data 属性启动系统activity

package com.test.actiondata;

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 com.test.intentdemo.R;

/**
 * 使用 Action data 属性启动系统 Activity
 */
public class ActionDataActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_action_data);

        Button btn = (Button) findViewById(R.id.btn);

        if (btn != null) {
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent();
                    String data = "http://www.cctv.com";
                    //根据指定的字符串解析出 Uri 对象
                    Uri uri = Uri.parse(data);

                    //为 Intent 设置Action 属性
                    intent.setAction(Intent.ACTION_VIEW);

                    intent.setData(uri);
                    //intent.setData(Uri.parse("http://www.cctv.com"));
                    startActivity(intent);

                }
            });

            Button edit = (Button) findViewById(R.id.edit);
            if (edit != null) {
                edit.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent();
                        //为 intent 设置 action属性(动作 为 编辑)
                        intent.setAction(Intent.ACTION_EDIT);

                        String data = "content://com.android.contacts/contacts/1";
                        Uri uri = Uri.parse(data);

                        intent.setData(uri);

                        startActivity(intent);
                    }
                });

                Button call = (Button) findViewById(R.id.call);
                if (call != null) {
                    call.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Intent intent = new Intent();

                            intent.setAction(Intent.ACTION_DIAL);

                            String data = "tel:13800138000";
                            Uri uri = Uri.parse(data);

                            //设置属性
                            intent.setData(uri);
                            startActivity(intent);
                        }
                    });
                }
            }
        }
    }
}

单击第一个按钮 会打开 www.cctv.com的 界面,
单击第2个按钮会看到启动编辑标识为1 的联系人界面.
单击第3个按钮 将看到程序向 该号码拨号的界面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值