实例 使用 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个按钮 将看到程序向 该号码拨号的界面