Broadcast总结 service
有时候离开应用就会接收不到系统的广播是因为系统默认发送的广播都会有一个参数
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的更多相关文章
- Android -- 利用Broadcast开启Service(转)
Broadcast和Service都是Android四大组建之一的. 这里的广播是动态的,自己注册的一个广播. 这种最典型的用法就是利用开机广播,然后再起自己的服务,也就是在Android手机中做到开 ...
- Android -- 利用Broadcast开启Service
Broadcast和Service都是Android四大组建之一的. 这里的广播是动态的,自己注册的一个广播. 这种最典型的用法就是利用开机广播,然后再起自己的服务,也就是在Android手机中做到开 ...
- 通过BroadCast与service时时监听网络变化
首先需要一个service: 这里我定义了一个NetworkStateService,在这个service中我写了一个BroadcastReceiver用于监听网络状态发生改变的情况并在这个servi ...
- android音乐播放器(Service+ContentProvider+Broadcast+Activity四大组件完成)
1.获取音乐 1-1:获取手机中的音乐(用ContentProvider内容提供者来完成): package com.firefly.util; import java.util.ArrayList; ...
- Android Service 文档
应用场景: 1 用于将后台逻辑(Service中)和UI逻辑(Activity中)进行解耦,实现Service功能的复用,为其他程序提供功能. 2 后台功能,由于Activity在进入后台时(On ...
- 谈谈 ANR 之 Service 超时
1. 核心源码 关键类 路径(/frameworks/base/) ActiveServices.java services/core/java/com/android/server/am/Activ ...
- 安卓APP与智能硬件相结合的简易方案
第1章 概 述 (作者小波QQ463431476) (来源http://blog.chinaaet.com/zhaocundang/p/5100017645博客) (来源 http://www. ...
- Android跨进程通信的四种方式
由于android系统中应用程序之间不能共享内存.因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些.在android SDK中提供了4种用于跨进程通讯的方式.这4种方式正好对应于andro ...
- Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)
在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...
随机推荐
- sql中存储过程打印返回的记录集
declare --返回结果,记录类型 ret sys_refcursor; --定义一种类型,用来存放返回的记录 type typ_row ), QUEUEID ), QUEUE_NAME )); ...
- THINKPHP3.2.3增加阿里云短信接口思路整理
https://help.aliyun.com/document_detail/55359.html?spm=5176.product44282.4.7.O4lc1n 阿里云短信服务地址,感冒的下载看 ...
- POI 生成带联动下拉框的excel表格
参考:https://www.cnblogs.com/cjbbk/p/7527276.html 解决POI3.17 与其它版本的不同的坑:https://blog.csdn.net/Weirdo_zh ...
- leetcode210
public class Solution { //test case [1,0] public int[] findOrder(int numCourses, int[][] prerequisit ...
- 普通web项目转maven项目
先要有pom.xml文件 1.首先你要确定你的开发工具是否已经安装上maven: 2.安装配置好后将你的项目导入到开发工具上: 3.右键点击java项目,选择maven选项,在选择Enable Dep ...
- Js 正则限制只能输入数字或中文的代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Mysql 2条记录 差值计算
1 表结构 2: 其实 是2个相同的 表根据rownum= rownum-1 来计算,所以先了解单个表的查询 附上SQL: #查询出1天的数据升序 ) as rownum, info.equipme ...
- chrome 设置是否缓存
在进行本地开发时,因老需要修改js,css等文件,而页面又带有缓存因此无法自动更新为新的文件. 在页面点击 -> F12 ->F1 ->References -> NetWor ...
- xcode显示行号show gutter
要在每一个代码编辑窗口中的边线里显示行号: 使用Xcode > Preferences 菜单命令,点击 Text Editing,然后选择Editing 然后点击选择 “Line numbers ...
- 从底层谈WebGIS 原理设计与实现(五):WebGIS中通过行列号来换算出多种瓦片的URL 之在线地图
从底层谈WebGIS 原理设计与实现(五):WebGIS中通过行列号来换算出多种瓦片的URL 之在线地图 作者:naaoveGI… 文章来源:naaoveGIS 点击数:2063 更 ...