Android开机广播和关机广播

时间:2023-03-09 09:47:59
Android开机广播和关机广播

有些时候我们需要我们的程序在系统开机后能自动运行,这个时候我们可以使用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>
是否还需要相应的权限呢?通过查询帮助文档,并没有找到相关的权限,在模拟器中进行测试,当系统关闭后能正常输出信息。