有些时候我们需要我们的程序在系统开机后能自动运行,这个时候我们可以使用Android中的广播机制,编写一个继承BroadcastReceiver的类,接受系统启动关闭广播。代码如下:
- /**
- *@authorcoolszy
- *@date2011-6-14
- *@bloghttp://blog.youkuaiyun.com/coolszy
- */
- publicclassBootCompletedReceiverextendsBroadcastReceiver
- {
- @Override
- publicvoidonReceive(Contextcontext,Intentintent)
- {
- Log.i("MainActivity","系统启动完毕");
- }
- }
- <receiverandroid:name=".BootCompletedReceiver">
- <intent-filter>
- <actionandroid:name="android.intent.action.BOOT_COMPLETED"/>
- </intent-filter>
- </receiver>
同时应添加所需要的权限:
- <uses-permissionandroid:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
既然Android系统在启动完毕后会发送广播,在系统关闭时是否也有对应的广播呢?通过查询帮助文档,找到了系统关闭的广播:
- /**
- *@authorcoolszy
- *@date2011-6-14
- *@bloghttp://blog.youkuaiyun.com/coolszy
- */
- publicclassShutdownReceiverextendsBroadcastReceiver
- {
- @Override
- publicvoidonReceive(Contextcontext,Intentintent)
- {
- Log.i("MainActivity","启动关闭中...");
- }
- }
在AndroidManifest.xml文件中进行注册:
- <receiverandroid:name=".ShutdownReceiver">
- <intent-filter>
- <actionandroid:name="android.intent.action.ACTION_SHUTDOWN"/>
- </intent-filter>
- </receiver>