有时候离开应用就会接收不到系统的广播是因为系统默认发送的广播都会有一个参数

ntent startIntent = new Intent();
startIntent.putExtra("pkg", getPackageName());
startIntent.setAction("com.lenovo.speechcamera.start");
startIntent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);//系统默认发送的是startIntent.setFlags(Intent.FLAG_EXCLUDE_STOPPED_PACKAGES);
sendBroadcast(startIntent);

这样退出应用就会接收不到广播  系统默认不包括停止状态的包

BroadcastReceiver可以是静态定义的 也可以是动态定义的

IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
40 // 增加可以接收的广播频道(Action)
41 filter.addAction(Intent.ACTION_BATTERY_LOW);// 低电量的广播
42 filter.addAction(Intent.ACTION_POWER_CONNECTED);// 电源连接的广播
43 filter.addAction(Intent.ACTION_POWER_DISCONNECTED);// 电源断开连接的广播
44
45 // 2. 注册广播接收器-接收系统的电量改变广播
46 registerReceiver(myReciver, filter);
静态在Xml文件中定义
     <receiver
41 android:name="com.qf.broadcastreceiver04.MyReceiver02"
42 android:permission="com.qf.permission.print" >
43 <intent-filter android:priority="80" >
44 <action android:name="com.qf.broadcast.print" />
45 </intent-filter>
46 </receiver> 意图服务是异步进行的  执行完操作后就会自己消毁(onDestroy方法) 发带有权限的广播时 要在xml文件中定义权限 接受者要接受广播得先在配置文件中加权限(第一关)还要在receiver中中定义action(频道)是否一致

<receiver android:name="com.qf.broadcastreceiver05.MyReceiver01">
<intent-filter>
<action android:name="com.qf.broadcast.print"/>
</intent-filter>
</receiver>

1、startService();

2、bindService(new Intent(getApplicationContext(),TimerService.class),
conn, BIND_AUTO_CREATE);

两种启动Service的方式后者会受activity影响‘

Broadcast总结 service的更多相关文章

  1. Android -- 利用Broadcast开启Service(转)

    Broadcast和Service都是Android四大组建之一的. 这里的广播是动态的,自己注册的一个广播. 这种最典型的用法就是利用开机广播,然后再起自己的服务,也就是在Android手机中做到开 ...

  2. Android -- 利用Broadcast开启Service

    Broadcast和Service都是Android四大组建之一的. 这里的广播是动态的,自己注册的一个广播. 这种最典型的用法就是利用开机广播,然后再起自己的服务,也就是在Android手机中做到开 ...

  3. 通过BroadCast与service时时监听网络变化

    首先需要一个service: 这里我定义了一个NetworkStateService,在这个service中我写了一个BroadcastReceiver用于监听网络状态发生改变的情况并在这个servi ...

  4. android音乐播放器(Service+ContentProvider+Broadcast+Activity四大组件完成)

    1.获取音乐 1-1:获取手机中的音乐(用ContentProvider内容提供者来完成): package com.firefly.util; import java.util.ArrayList; ...

  5. Android Service 文档

    应用场景: 1  用于将后台逻辑(Service中)和UI逻辑(Activity中)进行解耦,实现Service功能的复用,为其他程序提供功能. 2  后台功能,由于Activity在进入后台时(On ...

  6. 谈谈 ANR 之 Service 超时

    1. 核心源码 关键类 路径(/frameworks/base/) ActiveServices.java services/core/java/com/android/server/am/Activ ...

  7. 安卓APP与智能硬件相结合的简易方案

    第1章 概  述 (作者小波QQ463431476) (来源http://blog.chinaaet.com/zhaocundang/p/5100017645博客) (来源   http://www. ...

  8. Android跨进程通信的四种方式

    由于android系统中应用程序之间不能共享内存.因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些.在android SDK中提供了4种用于跨进程通讯的方式.这4种方式正好对应于andro ...

  9. Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)

    在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...

随机推荐

  1. centos自带的dvd中的官方base源,丢失了可以复制下面的内容

    /etc/yum.repos.d/CentOS-Base.repo文件中的内容,同样适用于centos6 [base]name=CentOS-$releasever - Basemirrorlist= ...

  2. nodejs基础: 如何升级Noejs版本

    Node.js的开发非常活跃,它的最新稳定版本也频繁变化,你不时会发现,一个模块不能在你当前的Node版本上使用,此时你需要升级Node 幸运的是,可以用一种非常简单的方法来管理你的Node版本,即使 ...

  3. storm的可靠性

    消息确认机制: 在数据发送的过程中可能会数据丢失导致没能接收到,spout有个超时时间(默认是30S),如果30S过去了还是没有接收到数据,也认为是处理失败. 运行结果都是处理成功 参考代码Storm ...

  4. blktrace未公开选项网络保存截取数据

    本文链接地址: blktrace未公开选项网络保存截取数据 我们透过blktrace来观察io行为的时候,第一件事情需要选择目标设备,以便分析该设备的io行为.具体使用可以参考我之前写的几篇:这里 这 ...

  5. UVA-673-栈-水题

    题意: 检测括号是否匹配,注意有空格 #include<stdio.h> #include<iostream> #include <strstream> #incl ...

  6. zend_soap做webservice的使用方法

      只用到zend_soap包中的Zend_Soap_Server,Zend_Soap_AutoDiscover和Zend_Soap_Client三个类 首先要注意ZF是调用php的soap扩展,所以 ...

  7. linux系统安装pycharm环境

    1.安装Pycharm环境参考网站: https://www.linuxidc.com/Linux/2018-04/152003.htm 注册:http://idea.lanyus.com/ wind ...

  8. rhel7配置ELK过程

    参考网站:https://www.cnblogs.com/hongdada/p/7887455.html https://my.oschina.net/codingcloud/blog/1615013 ...

  9. Xshell使用

    xshell更新之后窗口标题没了,多个窗口之后没法切换. 使用ctrl+shift+t恢复 ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

  10. DevExpress.XtraEditors.Groupcontrol 中创建按钮

    1. 添加引用: Imports DevExpress.XtraEditors.ButtonsPanelControl 2. 添加按钮语句: GroupControl1.CustomHeaderBut ...