android组件间信使--Intent之Action属性

Action是指Intent要完成的动作,是一个字符串常量。在Intent类里面定义了大量的Action常量属性,例如:ACTION_CALL(打电话)、ACTION_EDIT(编辑数据)、ACTION_BATTERY_LOW(低电量广播action)等。我们也可以自定义Action来使用。

setAction()设置IntentAction属性,使用getAction来获得Intent的Action属性。

1、自定义action属性:Action属性是一个字符串,在程序中定义,并在要访问组件的IntentFilter中声明就可以使用了。

      AndroidManifest.xml中

 android组件间信使--Intent之Action属性_第1张图片

  在MainActivity.java中,声明一个btn,并实例化Button,添加监听,主要代码如下:

//btn03点击事件
btn03.setOnClickListener(new OnClickListener() {
	
	@Override
	public void onClick(View v) {
		//实例化Intent
		Intent intent = new Intent();
		//设置Intent action属性
		intent.setAction(Intent.ACTION_GET_CONTENT);
		//设置intent type属性
		intent.setType("vnd.android.cursor.item/phone");
		//启动activity
		startActivity(intent);
	}
});

ActionActivity.java中主要的代码:

//设置布局
setContentView(R.layout.my_layout);
//实例化textview
tv = (TextView)findViewById(R.id.text01);
//得到Intent
Intent intent = this.getIntent();
//得到action
String ac = intent.getAction();
//展示
tv.setText(ac);

效果图:点击【测试Intent的action】

android组件间信使--Intent之Action属性_第2张图片          android组件间信使--Intent之Action属性_第3张图片

2、系统Action属性

AndroidManifest.xml在上图中已经贴出来了

       MainActivity.java主要代码:

//定义Action的属性常量
private static final String MY_ACTION = "com.test.action.MY_ACTION";


//btn02点击事件
btn02.setOnClickListener(new OnClickListener() {
	
	@Override
	public void onClick(View v) {
		//实例化Intent
		Intent intent = new Intent();
		intent.setAction(MY_ACTION);
		startActivity(intent);
	}
});

    效果图:点击【系统action】,得到右边的图

android组件间信使--Intent之Action属性_第4张图片       android组件间信使--Intent之Action属性_第5张图片

你可能感兴趣的:(android)