Intent详细用法介绍

Intent介绍

Activity、Service、Broadcast通信,可传递Bundle。

Intent属性

Component name属性
通过setComponent()指定

// 开启其他Activity
Intent intent = new Intent();
ComponentName componentName = new ComponentName(包名,类名);
intent.setComponent(componentName);
startActivity(intent);

Action和Data属性
这两个属性联合使用。

// 发送短信,另外需要获取发短信权限
Intent intent = new Intent();
intent.setAction(intent.ACTION_SENDTO);
intent.setData(Uri.parse("sms:10086")); // 发短信给10086
intent.putExtra("message", "查询话费")); // 默认短信内容
startActivity(intent);

Action和Category属性
这两个属性联合使用。

// 返回桌面
Intent intent = new Intent();
intent.setAction(intent.ACTION_MAIN); // 标识程序主入口
intent.addCategory(intent.CATEGORY_HOME);
startActivity(intent);

Extra和Flags属性
putExtras();
getExtras();

// 不保存Activity的栈历史
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
intent.setFlags(intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);

intent种类

  • 显式intent
  • 隐式intent

显式intent:
多用于一个应用内。

  Intent intent = new Intent(MainActivity.this, DetailActivity.class);

隐式intent:
多用于不同应用程序之间。

Intent intent = new Intent();
intent.setAction(intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);

intent过滤器

通过AndroidMainfest.xml中的<intent-filter>配置。

<intent-filter>
	<action.../>
	<category.../>
	<data.../>
</intent-filter>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值