您的位置:首页 > 其它

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

2016-06-23 15:31 369 查看
实例 使用 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个按钮 将看到程序向 该号码拨号的界面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: