Intent(意图)
2016-03-04 16:03:28 3 举报
AI智能生成
Intent(意图)是计算机科学中的一个重要概念,特别是在人工智能和机器学习领域。它指的是一个实体(如人、机器或系统)为实现某一目标或完成某项任务所采取的有意识的行动或决策。在软件开发中,意图通常用于描述用户可能想要执行的操作,以便开发者能够设计出更符合用户需求的界面和功能。例如,在一个音乐播放器应用中,用户的意图可能是播放、暂停、切换歌曲等。通过识别和理解用户的意图,应用程序可以提供更加智能化和个性化的服务,从而提高用户体验。
作者其他创作
大纲/内容
封装Android应用程序需要启动某个组件的“意图”
应用程序组件之间通信的重要媒介
封装成bindle对象,使用intent来携带bindle对象
启动不同组件的方法
BroadcastReceiver
sendBroadcast(Intent intent)
sendBroadcast(Intent intent, String receiverPermission)
sendOrderedBroadcast(Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
sendOrderedBroadcast(Intent intent, String receiverPermission)
sendStickyBroadcast(Intent intent)
sendStickyOrderedBroadcast(Intent intent, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
Service
ComponentName startService(Intent service)
boolean bindService(Intent service, ServiceConnection conn, int flags)
Activity
StartActivity(Intent intent)
StartActivityForResult(Intent intent, int requestCode)
属性
Component
构造器:创建pkg所在包下的cls类所对应的组件
ComponentName(String pkg, String cls)
ComponentName(Context pkg, String cls)
ComponentName(Context pkg, Class> cls)
额外方法
setClassName(String packageName, String className)
设置该Intent将要启动的组件对应的类名
setClassName(Context packageContext, String className)
设置该Intent将要启动的组件对应的类名
setClass(Context packageContext, Class> cls)
设置该Intent将要启动的组件对应的类
显式/隐式
显式
指定Component属性
隐式
没有指定Component属性的Intent
Actions
intent-filter配置(可以响应的动作)
抽象动作(发出)
Action
代表Intent所要完成的抽象“动作”,动作的描述
一个Intent对象最多只能包含一个Action属性
通过setAction(String str)来设置
通过getIntent().getAction()来获取
Category
为Action增加额外的附加类信息,为动作增加额外的描述
一个Intent对象可以包括多个Category属性
通过addCategory(String str)来添加
Datas
intent-filter配置
pathPattern
用于声明该组件所能匹配的Intent的Data属性的path字符串模板
pathPrefix
用于声明该组件所能匹配的Intent的Data属性的path前缀
path
用于声明该组件所能匹配的Intent的Data属性的path部分
port
用于声明该组件所能匹配的Intent的Data属性的port部分
host
用于声明该组件所能匹配的Intent的Data属性的host部分
scheme
用于声明该组件所能匹配的Intent的Data属性的scheme部分
mimeType
用于声明该组件所能匹配的Intent的Type属性
为Intent提供数据操作,Data与Tpye之间会相互覆盖
Type
setData(Uri uri)
Uri对象通过scheme://host:port/path的格式来表示
Data
setType(String str)
指定Uri对应的MIME类型
MIME类型可以是任何自定义的MIME类型,只要符合abc/xyz格式的字符串即可
setDataAndType()
既有Data对象又要有Type对象
Extra
通常用于多个Action之间的数据交换
Bindle对象(可以存入多个key-value对,就像Map对象)
Flag
为该Intent添加一些额外的控制标记
addFlags()方法添加
intent-filter 的子元素
至少还包括"android.intent.category.DEFAULT"属性
在AndroidManifest.xml文件的 元素中,它的子元素
0 条评论
下一页