有些时候我们需要我们的程序在系统开机后能自动运行,这个时候我们可以使用Android中的广播机制,编写一个继承BroadcastReceiver的类,接受系统启动关闭广播。代码如下:

  1. /**
  2. *@author coolszy
  3. *@date 2011-6-14
  4. *@blog http://blog.csdn.net/coolszy
  5. */
  6. public class BootCompletedReceiver extends BroadcastReceiver
  7. {
  8. @Override
  9. public void onReceive(Context context, Intent intent)
  10. {
  11. Log.i("MainActivity", "系统启动完毕");
  12. }
  13. }
然后在AndroidManifest.xml文件中进行注册:
  1. <receiver android:name=".BootCompletedReceiver">
  2. <intent-filter>
  3. <action android:name="android.intent.action.BOOT_COMPLETED"/>
  4. </intent-filter>
  5. </receiver>

同时应添加所需要的权限:

  1. <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

既然Android系统在启动完毕后会发送广播,在系统关闭时是否也有对应的广播呢?通过查询帮助文档,找到了系统关闭的广播:

  1. /**
  2. *@author coolszy
  3. *@date 2011-6-14
  4. *@blog http://blog.csdn.net/coolszy
  5. */
  6. public class ShutdownReceiver extends BroadcastReceiver
  7. {
  8. @Override
  9. public void onReceive(Context context, Intent intent)
  10. {
  11. Log.i("MainActivity", "启动关闭中...");
  12. }
  13. }

在AndroidManifest.xml文件中进行注册:

  1. <receiver android:name=".ShutdownReceiver">
  2. <intent-filter>
  3. <action android:name="android.intent.action.ACTION_SHUTDOWN"/>
  4. </intent-filter>
  5. </receiver>
是否还需要相应的权限呢?通过查询帮助文档,并没有找到相关的权限,在模拟器中进行测试,当系统关闭后能正常输出信息。

Android开机广播和关机广播的更多相关文章

  1. Andoird 监听开机广播和关机广播

    需求:有时候,我们需要自己的程序在开机后自动运行;在关机时,记录一些信息到文件中. 一.开机广播监听Android系统启动完成后会自动发出启动完成广播(android.intent.action.BO ...

  2. ndroid如何监听开机广播和关机广播

    需求描述:有些时候,我们需要我们的程序在开机后能自动运行,在系统即将关闭时,能写入一些记录到指定的文件里. 一.开机广播监听: Android系统启动完成后会发出启动完成广播(android.inte ...

  3. android入门到熟练(五)---广播

    1.广播类型:标准广播和有序广播.标准广播是异步广播在广播发出之后所有接收器几乎会同一时刻接收到,没有先后顺序,效率高,但无法被截断.有序广播则是同步广播,同一时刻只能一个接收器接收这条消息,等执行完 ...

  4. android应用无法接收到广播?

    本篇文章记录Android应用无法接收到广播的几种case 1. 没有register 广播其实是一种订阅者模式,所以当然需要先register,register的方式有两种 1.1  through ...

  5. Android的有序广播和无序广播(解决安卓8.0版本之后有序广播的接收问题)

    前言 Google从Android8.0版本开始,对在清单文件中静态注册广播做了限制. *** 特殊广播(动态注册广播接收者) 说:有序广播和无序广播之前,咱们先来说下Android中一些特殊的广播如 ...

  6. Android 静态广播和动态广播接收顺序

    Android广播有两个很重要的要素: 1 广播 - 用于发送广播 有序广播  -  被广播接收器接收后,可被终止,无法往下继续传达.         典型代表:短信广播 普通广播  -  发送至每一 ...

  7. Android(java)学习笔记179:BroadcastReceiver之 有序广播和无序广播(BroadcastReceiver优先级)

    之前我们在Android(java)学习笔记178中自定义的广播是无序广播,下面我们要了解一下有序广播:   1.   我们首先了解一下有序广播和无序广播区别和联系? (1) 有序广播> 接受者 ...

  8. Android应用程序注冊广播接收器(registerReceiver)的过程分析

    前面我们介绍了Android系统的广播机制,从本质来说,它是一种消息订阅/公布机制,因此,使用这样的消息驱动模型的第一步便是订阅消息:而对Android应用程序来说,订阅消息事实上就是注冊广播接收器, ...

  9. 有序广播和标准广播 --Android开发

    一.标准广播和有序广播也很容易理解的. 标准广播: (1)通过sendBroadcast()方法发送 (2)通过异步方式发送,广播接收者的执行顺序是不明确的 有序广播: (1)通过sendOrderB ...

随机推荐

  1. 使用PowerMockito 对静态类进行mock

    Mock的中文的意思就是模拟,Mockito是mock的扩展,但是Mockito并不支持对静态类的mock,所以我们引入PowerMockito实现对静态类的mock. 首先pom添加PowerMoc ...

  2. kail linux nmap命令

    可用于: 检测活在网络上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本) ---- ...

  3. 数据仓库基础(八)Informatica 小例子

    本文转载自:http://www.cnblogs.com/evencao/p/3147843.html 之前看了一段数据库的基础,感觉自己对数据库的基础挺薄弱的.以后再学习其他东西的时候也需要经常能学 ...

  4. Java(20~24)

    1.Collection中的集合称为单列集合,Map中的集合称为双列集合(键值对集合). 2.Map常用方法:map.put()   map.get()   map.remove()   map.ke ...

  5. 【百度统计】设置页面元素点击事件转化pv、uv

    html元素点击事件内添加代码:_hmt.push(['_trackEvent', category, action, opt_label, opt_value]); 1. '_trackEvent' ...

  6. 如何合并两个Git仓库

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  7. Linux基础命令---ln

    ln 为指定的目录或者文件创建链接,如果没有指定链接名,那么会创建一个和源文件名字一样的链接. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fed ...

  8. Google、亚马逊、微软 、阿里巴巴开源软件一览

    Google.亚马逊.微软 .阿里巴巴开源软件一览 大公司为什么要发布开源项目?一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑.二是开源能够倒逼工程师写出更好的代码.三是开 ...

  9. java.lang.NoClassDefFoundError: org/apache/http/client/config/RequestConfig

    java 错误.java.lang.NoClassDefFoundError: org/apache/http/client/config/RequestConfig 本质上是httpClient的j ...

  10. selenium自动化定位方法

    用selenium操作浏览器进行自动化操作其实就是通过元素属性执行相关操作.所以,我们要知道怎样去查找元素,定位元素. 常见的定位属性有: #查找元素的id find_elements_by_id(i ...