第四章邮递员Intent.pptVIP

  • 9
  • 0
  • 约8.78千字
  • 约 30页
  • 2017-06-22 发布于湖北
  • 举报
第四章邮递员Intent概要

创建Broadcast Receiver 实现一个BroadcastReceiver public class MyAndroidReceiver extends BroadcastReceiver override onReceive(Context context, Intents Intents) 注册BroadcastReceiver 在AndroidManifest.xml文件当中进行注册 在代码当中直接进行注册 * receiver Android:name=“MyAndroidReceiver Intents-filter action Android:name=”com.eoeAndroid.action.NEW_BROADCAST”/ /Intents-filter /receiver IntentsFilter filter = new IntentsFilter(NEW_BROADCAST ); MyAndroidReceiver MyAndroidReceiver = new MyAndroidReceiver(); registerReceiver(MyAndroidReceiver , filter); Broadcast receiver生命周期 * Broadcast receiver对象在onReceive返回后被销毁 onReceive中不适合处理异步过程。例如弹出对话框与用户交互,可使用消息栏替代。 BroadcastReceiver实例 public class MyBroadcastReceiver extends BroadcastReceiver { String SMS_RECEIVED = vider.Telephony.SMS_RECEIVED ; public void onReceive(Context context, Intent intent) { if (intent.getAction().equals( SMS_RECEIVED )) { // 相关处理 : 地域变换、电量不足、来电来信; } } } BroadcastReceiver实例 在 AndroidManifest.xml 中注册 receiver android:name = .MyBroadcastReceiver intent-filter android:priority = 1000 action android:name = vider.Telephony.SMS_RECEIVED / / intent-filter 权限 : uses-permission android:name = android.permission.RECEIVE_SMS / uses-permission android:name = android.permission.SEND_SMS / * Intent 提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent 来执行动作和产生事件。通过使用Intent 可以激活Android 应用的三个核心组件:活动、服务和广播接收器。 Intent 可以划分成显式意图和隐式意图。 * Intent可以理解为应用程序向系统表达的一种意愿:希望系统做什么。 ent.action.MAIN 决定应用程序最先启动的Activity ent.category.LAUNCHER 决定应用程序是否显示在程序列表里。 一个Activity可以通过intent来启动另外的activity或service实例,或者通过intent来发起一个广播。 Service可以通过intent来启动一个activity或另一个service实例,也可以通过intent发起一个广播。 Broadcast receiver通过获取intent取得其关注的广播消息。 * 显式的,应用程序向系统发出intent,指明需要哪一个component处理。显式意图明确指定了Intent 应该传递给哪个组件。 隐式的,应用程序向系统发出一个intent,但没有具体指明该intent的接收者,由系统匹配最合适的接收者负责处理。如果存在多个匹配,那么系统会弹出对话框给用户选择处理的应用。。Android 系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI 和数据类型)找到最合适的组件来处理 这个意图。Intent Filter(意图过滤器)其实就是用来匹配隐式In

文档评论(0)

1亿VIP精品文档

相关文档