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中

 

  在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】

          

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】,得到右边的图

       

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值