版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Android Intent,南工院移动开发工作室,Intent简介,Intent是一种消息传递机制。 通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。 Android的三个基本组件Activity,Service和Broadcast Receiver都是通过Intent机制激活的。,1.1 要激活一个新的Activity,或者让一个现有的Activity做新的操作,可以通过调用Context.startActivity()或者Activity.startActivityForResult()方法。 1.2 要启动一个
2、新的Service,或者向一个已有的Service传递新的指令,调用Context.startService()方法或者调用Context.bindService()方法将调用此方法的上下文对象与Service绑定。 1.3 Context.sendBroadcast()、Context.sendOrderBroadcast()、Context.sendStickBroadcast()这三个方法可以发送Broadcast Intent。发送之后,所有已注册的并且拥有与之相匹配IntentFilter的BroadcastReceiver就会被激活。,Intent描述的基本内容,Intent对象抽
3、象地描述了要执行的操作,其描述的基本内容可以分为: 组件名称 Action Action描述Intent所触发动作名字的字符串。系统对常见的Activity和Broadcast进行了定义。例如:ACTION_CALL、ACTION_TIME_TICK等 Data Data描述Intent要操作的数据URI和数据类型。例如对于ACTION_CALL,对应的数据可以是tel:/格式的电话号码URI。 Category Category是对被请求组件的额外描述信息。 Extra Flag,解析Intent,显式Intent和隐式Intent 显式Intent明确指出了目标组件的名称,相反没有给出目标
4、组件名称的Intent都为隐式Intent。 在Android系统中,使用IntentFilter来找寻与隐式Intent相关的对象。 显式Intent方便,但是对于开发者而言,有的时候并不能明确目标组件的名称,所以必须通过隐式Intent来查找,而对于内部组件来说,显式Intent要更为方便。,隐式Intent的匹配,实现过程: Android将Intent的请求内容和IntentFilter的过滤器进行比较,IntentFilter中包含系统中所有可能的待选组件。 如果IntentFilter中某一组件匹配隐式Intent请求内容,那么Android就该组件作为目标组件。 Android只
5、选用Action、Data和Category作为参考因素,Extra和Flag并不起作用,PendingIntent,PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadcast ,getService来得到pendingintent的实例,当前activity并不能马上启动它所包含的intent,而是在外部执行 pendingintent时,调用intent的。 PendingIntent可以看作是对Intent的包装。PendingIntent主要持有的信息是它所包装的Intent和当前Application的Context。正由于P
6、endingIntent中保存有当前Application的Context,使它赋予带他程序一种执行的Intent的能力,就算在执行时当前Application已经不存在了,也能通过存在PendingIntent里的Context照样执行Intent。,/获取通知管理器 NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE) int icon = android.R.drawable.stat_notify_chat; long
7、 when = System.currentTimeMillis();/通知发生的时间为系统当前时间 /新建一个通知,指定其图标和标题 Notification notification = new Notification(icon, null, when);/第一个参数为图标,第二个参数为短暂提示标题,第三个为通知时间 notification.defaults = Notification.DEFAULT_SOUND;/发出默认声音 notification.flags |= Notification.FLAG_AUTO_CANCEL;/点击通知后自动清除通知 Intent openintent = new Intent(this, OtherActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, openintent, 0);/当点击消息时就会向系统发送openintent意图 notificatio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国农业科学院农业资源与农业区划研究所资划所高层次人才招聘模拟试卷【培优】附答案详解
- 2026安徽黄山市建设投资集团有限公司招聘13人模拟试卷及完整答案详解【全优】
- 2026南昌市东湖区墩子塘街道办事处招聘基层就业专岗1人考前冲刺试卷有答案详解
- 2026江西省妇幼保健院科研助理招聘4人笔试题库(夺冠系列)附答案详解
- 2026山西长治医学院附属和平医院招聘(编制外)17人备考题库【预热题】附答案详解
- 2026中国现代农业科技行业市场竞争投资评估发展前景规划报告
- 2026中国医用中性硼硅玻璃管产业化进程与供应链安全评估
- 中医情志养生学版
- 员工心理健康教育常识讲座
- 云南省永德县大雪山水库工程初步设计
- 2026年高三上学期数学秋季开学摸底考(江苏专用)
- GB/T 6904-2026工业循环冷却水及锅炉用水中pH的测定
- 2026-2030中国电子束装备行业市场发展分析及前景趋势与投资战略研究报告
- 石家庄城市经济职业学院教师招聘考试笔试试题及答案
- 2026年防晒霜行业分析报告及未来发展趋势报告
- 2025四川光明投资集团有限公司招聘财务负责人3人(广安市第三次)笔试历年参考题库附带答案详解
- 物业客户关系维护与客户满意度提升方案
- (2026版)新《中华人民共和国渔业法》核心要点解读培训
- 2026年赫比ciic测试题及答案
- 贸易采购销售管理制度
- 车间加固施工方案(3篇)
评论
0/150
提交评论