`

【Android】BroadcastReceiver发送intent给service或者activity

阅读更多

BroadcastReceiver:对象的生命周期不超过5s,如果进行耗时工作,通过开线程,可以通过发送Intent给Activity或Service,由  Activity或者Service来完成。
1:用来已不接收意图的(Intent),广播Intent的发送时通过调用Context.sendBroadcast()\Context.sendOrderedBroadcast()或者Context.sendStickyBroadcast()来实现的。
注:Context.startActivity(Intent) ------>只能被一个组件(Activity/Service)接收
Context.sendBroadcast(Intent) ------>能被订阅了此意图的所有广播接收者接收
2:第一步:继承BroadcastReceiver,并重写onReceive方法。
  public class IncominSMSReceiver extends BroadcastReceivee{
   @Override
   public void onReceive(Context context,Intent intent)
    }
3:第二步:订阅感兴趣的广播Intent,订阅方法有两种:
  第一种:使用代码进行订阅:
  IntentFilter filter=new IntentFilter("android.provider.Telephony.SMS_RECEIVD");
  IncomingSMSReceiver receiver=new IncomingSMSReceiver();
  registerReceiver(receiver,filter);
  第二种:在AndroidManifest.xml文件中中的<application>节点里进行订阅:
  <receiver android:name=".IncomingSMSReceiver">
   <intent-filter>
    <action android:name="android.provider.Telephony.SMS_RECEIVER"/>
   </intent-filter>
  </receiver>
Service:
1:第一步:继承Service类
  public classs SMSService extends Service{}
2:第二步:在AndrodManifest.xml文件中的<application>节点里对服务进行配置。
  <service android:name=".SMSService">
注:服务不能自己运行。需要通过调用Context.startService()或Context.bindService
startService():调用者与服务之间没有关联。系统先 调用服务的onCreate()方法,接着调用onStart()方法。多次调用startService()方法并不会导致服务多次被创建,但会多次调 用onStart()方法。并用Context.stopService()方法结束服务,服务结束时调用onDestroy()方法。
bindService():调用者与服务绑定在一起“不求同时生,必须同时死。”系统调用服务的onCreate方法接着调用onBind()方法。这 时调用者与服务绑定一起调用者退出时先调用服务的onUnbind()方法,接着调用onDestroy()方法。多次调用bindService()方 法并不会导致调用者与服务多次被绑定。

分享到:
评论

相关推荐

    Android:Intent&Activity,Service,BroadcastReceiver

    Android:Intent页面跳转,Activity生命周期,Service服务,广播代码实例

    Android_Activity&Intent;

    服务(Service) - 相当于后台运行的 Activity 广播(Broadcast) - 用于发送广播 广播接收器(BroadcastReceiver) - 用于接收 ContentProvider-用于应用间共享数据 Intent - 用于连接以上各个组件,并在其间传递消息

    android 5大组件的应用案例

    android 5大组件的应用案例 Activity Intent Service Broadcastreceiver ContentProvider android 5大组件的应用案例 Activity Intent Service Broadcastreceiver ContentProvider android 5大组件的应用案例 ...

    Android提高之Activity+Intent用法示例

    熟悉Android程序设计的人都知道Android有三个基础组件Activity,Service和BroadcastReceiver,他们都是依赖Intent来启动。本文所要介绍的是Activity的生命周期以及针对Activity的Intent使用。 之前的例子一直都是使用...

    Android Activity与Intent详解及示例代码

    Android有三个基础组件Activity,Service和BroadcastReceiver,他们都是依赖Intent来启动。本文介绍的是Activity的生命周期以及针对Activity的Intent使用。  之前的例子一直都是使用Activity,在一个Layout XML与一...

    Servicemaster:Android 使用Service和BroadcastReceiver实现音乐播放功能

    Android 使用Service和BroadcastReceiver实现音乐播放功能 Service demo中service使用得是新的进程,activity和service日志需要切换进程才能看到,这里是最典型得activity和service交互的过程, activity传递信息很简单...

    Android使用Intent获取联系人信息

    Intent的使用 趁着工作之余,看了一下intent,发现好多知识都已经忘记了,然后自己有重新复习了一遍,在这里做一下笔记,以下...Intent是Activity,Service,BroadCastReceiver这三大组件之间的桥梁,而ContentProvide

    Android学习笔记–Activity中使用Intent传值示例代码

    Intent,又称为意图,是一种运行时绑定机制,它能在程序运行的过程中链接两个不同的组件(Activity、Service、BroadcastReceiver)。通过Intent,程序可以向Android表达某种请求或意愿,Android会根据意愿的内容选择...

    Android期末复习选择题100道

    Activity B.Intent C. Service D. ContentProvider 2. 下面关于广播叙述错误的是(A) A. 广播是Android四大组件之一 B. BroadcastReceiver有两种注册方式,静态注册和动态注册 C. 静态注册需要在Mainfest.xml中...

    疯狂Android讲义源代码2

    我个人认为 ,李刚的疯狂android讲义 讲的比较详细的,还有两个实战项目,以下是与代码对应的本书目录 第1章 Android应用与开发环境 1.1 Android的发展和历史 1.1.1 Android的发展和简介 1.1.2 Android平台架构...

    实验四-Android基本组件交互实验.doc

    实验四 Android基本组件交互实验 【实验目的】 本实验是Android基本组件实验,主要针对Activity、Service和Receiver实现和使用方 法。通过实验使学生掌握Activity的跳转、Service的启动停止以及Receiver的接受等。 ...

    《零点起飞学Android开发》 PDF

    第1篇android开发基础主要介绍了android系统的发展史、基本组件、android开发环境的搭建、android布局、android基本控件、android高级控件、android辅助功能、activity和intent、service与broadcastreceiver、...

    android 四大组件

    文档里边对android组件Activity、Service、BroadcastReceiver、ContentProvider和Intent分析的非常详细,对快速学习android提供很大的帮助。

    android开发介绍及心得.docx

    Android开发是为Google的Android操作系统创建应用程序的过程。Android是目前全球智能手机和平板电脑市场上最流行的操作系统之一。...它可以启动其他组件,如Activity、Service或BroadcastReceiver。

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    6.5 通过短信发送email通知——BroadcastReceiver与Intent整合 6.6 手机拨接状态——PhoneStateListener之onCallStateChanged 6.7 有来电,发送邮件通知——PhoneStateListener与ACTION_SEND 6.8 存储卡剩余多少容量...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    6.5 通过短信发送email通知——BroadcastReceiver与Intent整合 6.6 手机拨接状态——PhoneStateListener之onCallStateChanged 6.7 有来电,发送邮件通知——PhoneStateListener与ACTION_SEND 6.8 存储卡剩余多少容量...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    6.5 通过短信发送email通知——BroadcastReceiver与Intent整合 6.6 手机拨接状态——PhoneStateListener之onCallStateChanged 6.7 有来电,发送邮件通知——PhoneStateListener与ACTION_SEND 6.8 存储卡剩余多少容量...

    android开发入门与实战(下)

    7.5 Android应用的灵魂——Intent和Activity介绍与实例 7.5.1 实例操作演示 7.5.2 实例编程实现 7.6 用好列表,做好程序——列表(ListView)介绍与实例 7.6.1 实例程序演示 7.6.2 实例编程实现 7.7 友好地互动交流...

Global site tag (gtag.js) - Google Analytics