有些時候我們需要我們的程式在系統開機後能自動執行,這個時候我們可以使用Android中的廣播機制,編寫一個繼承BroadcastReceiver的類,接受系統啟動關閉廣播。程式碼如下:
- /**
- *@author coolszy
- *@date 2011-6-14
- *@blog http://blog.csdn.net/coolszy
- */
- public class BootCompletedReceiver extends BroadcastReceiver
- {
- @Override
- public void onReceive(Context context, Intent intent)
- {
- Log.i("MainActivity", "系統啟動完畢");
- }
- }
然後在AndroidManifest.xml檔案中進行註冊:
- <receiver android:name=".BootCompletedReceiver">
- <intent-filter>
- <action android:name="android.intent.action.BOOT_COMPLETED"/>
- </intent-filter>
- </receiver>
同時應新增所需要的許可權:
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
既然Android系統在啟動完畢後會傳送廣播,在系統關閉時是否也有對應的廣播呢?通過查詢幫助文件,找到了系統關閉的廣播:
- /**
- *@author coolszy
- *@date 2011-6-14
- *@blog http://blog.csdn.net/coolszy
- */
- public class ShutdownReceiver extends BroadcastReceiver
- {
- @Override
- public void onReceive(Context context, Intent intent)
- {
- Log.i("MainActivity", "啟動關閉中...");
- }
- }
在AndroidManifest.xml檔案中進行註冊:
- <receiver android:name=".ShutdownReceiver">
- <intent-filter>
- <action android:name="android.intent.action.ACTION_SHUTDOWN"/>
- </intent-filter>
- </receiver>
是否還需要相應的許可權呢?通過查詢幫助文件,並沒有找到相關的許可權,在模擬器中進行測試,當系統關閉後能正常輸出資訊。