Broadcast和Service都是Android四大组建之一的。

这里的广播是动态的,自己注册的一个广播。

这种最典型的用法就是利用开机广播,然后再起自己的服务,也就是在Android手机中做到开启启动。

Service与Broadcast                                                                

public class MyService extends Service {private MyReceiver receiver;@Overridepublic IBinder onBind(Intent intent) {// TODO 自动生成的方法存根return null;}private void methodInService() {Toast.makeText(this, "我是服务的方法", Toast.LENGTH_LONG).show();}@Overridepublic void onCreate() {receiver = new MyReceiver();IntentFilter filter = new IntentFilter();filter.addAction("com.yydcdut.braodcasttoservice");registerReceiver(receiver, filter);super.onCreate();}private class MyReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("我是service内部的广播接收者!!");methodInService();}}@Overridepublic void onDestroy() {unregisterReceiver(receiver);receiver = null;super.onDestroy();}}

这里的MyReceiver是一个内部类,没有在AndroidManifest.xml中注册这个组建,那么就需要执行注册广播这个动作。

receiver = new MyReceiver();IntentFilter filter = new IntentFilter();filter.addAction("com.yydcdut.braodcasttoservice");registerReceiver(receiver, filter);

IntentFilter也就与Manifest里面的相同。也注册也就有注销,当这个服务Destroy的时候就注销掉广播。

MainActivity                                                                          

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Intent intent = new Intent(this,MyService.class);startService(intent);}//Buttonpublic void call(View view){Intent intent = new Intent();intent.setAction("com.yydcdut.braodcasttoservice");sendBroadcast(intent);}}

com.yydcdut.braodcasttoservice这个前后呼应,广播就找到了这个Action。

我是天王盖地虎的分割线                                                               

源代码:http://pan.baidu.com/s/1dD1Qx01

利用广播调用服务的方法.zip

本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3810001.html,如需转载请自行联系原作者

Android -- 利用Broadcast开启Service相关推荐

  1. Android之四大组件(Service的开启与关闭)

    个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! 前言 服务(Service)是Android系统中的四大组件之一.服务主要用于两个目的:后台运行和跨进程访问.通过启 ...

  2. Android系统8.0及以上开启Service必须创建显示“XX应用正在运行”通知问题处理

    背景: Android系统8.0及以上,开启Service必须使用startForegroundService(Intent intent)方法,对应的Service则必须设置startForegro ...

  3. android开关机音乐6,android实现开机自动播放音乐实例(Broadcast、Service)

    android实现开机自动播放音乐实例(Broadcast.Service) 1.首先开机启动后系统会发出一个Standard Broadcast Action,名字叫android.intent.a ...

  4. Android初步学习BroadCast与Service实现简单的音乐播放器

    ctivity代码 view sourceprint? 001.package com.siyehuazhilian.musicplay; 002.  003.import java.util.Arr ...

  5. [转]Android中程序与Service交互的方式——交互方式

    本文转自:http://blog.csdn.net/yihongyuelan/article/details/7216188 上一篇文章:Android中程序与Service交互的方式--综述 简述了 ...

  6. Android 用 broadcast receiver组件实现音乐盒

    Android 用 broadcast receiver详解用例 Android 用 broadcast receiver详解用例 一.BroadcastReceiver概述 1.BroadcastR ...

  7. android alarmmanager 收不到广播,android定时闹钟:Service+BroadcastReceiver+AlarmManager+NotificationManager...

    在开发android的过程中,需要一个定时提醒的功能,原本以为是一个很简单的功能,但是发现网上能找到的讲解或者代码都很或多或少地缺少一部分的设置和关键代码,所以我才注册了简书账户,分享一下. 在研究的 ...

  8. 浅谈Android四大组件之Service

    一:Service简介 Android开发中,当需要创建在后台运行的程序的时候,就要使用到Service. 1:Service(服务)是一个没有用户界面的在后台运行执行耗时操作的应用组件.其他应用组件 ...

  9. Android利用RecognizerIntent识别语音并简单实现打电话动作

    关于Android利用RecognizerIntent识别语音并简单实现打电话,具体看实现代码如下: package com.example.recognizerintentactivity;impo ...

最新文章

  1. Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解
  2. linux内核链表以及list_entry--linux内核数据结构(一)
  3. linux sockaddr_in头文件,linux网络编程常用头文件
  4. 1041 考试座位号 (15分)——17行代码AC
  5. java在一个类里实现存款_用Java编写一个简单的存款
  6. system函数阻塞_简单的Java阻塞队列
  7. Python实现一键打开/关闭防火墙
  8. 【dubbo源码解析】--- dubbo的服务暴露+服务消费(RPC调用)底层原理深入探析
  9. 政府会计制度——行政事业单位会计科目和报表(2019年1月1日施行)
  10. win10 android模拟器 菜单,Win10 Android模拟器教程
  11. 码云仓库第一次上传代码流程和git相关操作合集(持续更新)
  12. flyway 实现 java 自动升级 SQL 脚本
  13. mysql identify_MySQL用户授权
  14. 科技爱好者周刊(第 189 期):下一个内卷的行业
  15. 多年锤炼,迈向Kata 3.0 !走进开箱即用的安全容器体验之旅| 龙蜥技术
  16. 机械硬盘升级固态硬盘
  17. dnf搬砖代码Python_让搬砖变得轻松——python操作excel用的脚本
  18. 算法:通过克鲁斯卡尔(Kruskal)算法,求出图的最小生成树
  19. 【C++】win 10:VC 6.0 中文版下载、安装、使用
  20. cyberarticle 5专业版教程

热门文章

  1. struct和union的大小问题
  2. 【C++】多线程与互斥锁【二】
  3. 使用Netbeans创建java Web项目
  4. The C10K problem原文翻译
  5. php 的opcode缓存apc以及其安装
  6. 码农技术炒股之路——数据库管理器、正则表达式管理器
  7. WMI技术介绍和应用——事件通知
  8. PE文件和COFF文件格式分析——签名、COFF文件头和可选文件头3
  9. Python3中参数*args和**kwargs介绍
  10. 【FFmpeg】如何通过url的格式找到对应的协议,以rtmp为例