android开发学习之路(1)---- activity及intent基本详解(2)

Intent:android中连接各大组件通信的桥梁。

Intent有setClass、setClassName等方法,看类名就知道,设置一个指定的类,而这个类,就是目标类。

< intent-filter>在AndroidManifest.xml中配置,写在<activity>中,可以配置的属性如下:

1.<action android:name="xxx">指定该activity会响应setAction为xxx字符串的Intent

2.<category android:name="xxxx">指定该activity会响应addCategory为xxxx字符串的Intent

因为在AndroidManifest.xml中,activity指定的类是不能重复的,所以如果通过setClass和setClassName来启动一个Intent,那么程序的目标很明确,会直接跳到对应的activity

但action和category是可以重复的,也就是我activity1和activity2都配置了一样的action或者category的值,那么调用startActivity的时候就会出现一个选择框让你启动activity1或activity2来响应此次请求

例如在android中,本身系统就定义了很多action和category,例如

Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
startActivity(intent);

你会发现,会出现一大串的列表,没错,里面几乎是你手机上所以装的应用了,因为几乎每个程序都会有个

<action android:name="android.intent.action.MAIN" />,因为这是程序的入口。

3.Data属性:一般用于向action提供操作的数据,Data接收一个Uri对象

4.Type属性:指定Data属性若指定的Uri对应的MIME类型

Data属性和Type属性会相互覆盖,如果先setData后setType,则前面的setData是相当与无效的,反之先setType,则setType是无效的,如果想同时有效,可以调用setDataAndType方法。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值