随笔3

 

上面的 AndroidManifest.xml 的写法不规范, 只是作为例子, 突出重点部位. 这里就不对<data>,<type>和<category>等元素进行谈论了, 免得加深复杂度(实际上这些我也不会, 见谅了)

 

在里面

  • 一个<intent-filter> 可以有多个 <action> 元素.
  • 一个值相同的<action> 可以在多个 <intent-filter> 中出现, 甚至是多个的 <Activity> 中出现.
  • <action> A 和 <action> B 对应的是同一个<intent-filter> 和 <Activity>, 它们有什么区别吗?

<action> 的作用是什么? 为什么一个<intent-filter> 中可以有多个 <action>? 不管<intent-filter><action> 怎样, 最后做操作的应该都是 Activity 类对象, 那搞怎么多 <intent-filter>,<action> 干嘛呢? 这是我一开始的疑问.

 

在Activity 中间的跳转的例子中, 有这样的代码

这段代码里面的 Intent, 是一个间接Intent ,或称为隐式Intent, 有这样的称号, 是因为它不能直接确定要调整的 Activity 是哪个? 它需要通过一个 Action 字符串去寻找对应的 Activity.

还好, "B" 对应的 Activity 只有一个, 顺利跳转!

 

代码改一下

 

从上面的  AndroidManifest.xml 文件的, 我们可以看到多个值为 A 的<action>! Oh, My God!, 运行代码后系统将要怎么处理呢?

结果出来了, 一个弹出框, 里面有多个 Activity 可以选择(这些 Activity 都是些加载了各自<intent-filter>的).

"原来是这样", 第一感觉.

 

我觉得 <action> 就是一个标识, 一个特定的标识或显式地表明其所在 Activity 能做什么操作.

在你的应用中, 你实现了一个 activity 类读取某个类型的文件的功能, 那你给它一个值为 "android.intent.action.VIEW" 的<action> 元素, 表明它有显示的功能. 当另一个应用需要读取这个类型文件的时候, 嘿嘿, 你的 Activity 在出现在选择列表里面了.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值