Android Intent.pptx_第1页
Android Intent.pptx_第2页
Android Intent.pptx_第3页
Android Intent.pptx_第4页
Android Intent.pptx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论