有些時候我們需要我們的程序在系統(tǒng)開機后能自動運行,這個時候我們可以使用Android中的廣播機制,編寫一個繼承BroadcastReceiver的類,接受系統(tǒng)啟動關閉廣播。代碼如下:
-
-
-
-
-
-
- public class BootCompletedReceiver extends BroadcastReceiver
- {
-
- @Override
- public void onReceive(Context context, Intent intent)
- {
- Log.i("MainActivity", "系統(tǒng)啟動完畢");
- }
- }
然后在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系統(tǒng)在啟動完畢后會發(fā)送廣播,在系統(tǒng)關閉時是否也有對應的廣播呢?通過查詢幫助文檔,找到了系統(tǒng)關閉的廣播:
-
-
-
-
-
-
- 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>
是否還需要相應的權限呢?通過查詢幫助文檔,并沒有找到相關的權限,在模擬器中進行測試,當系統(tǒng)關閉后能正常輸出信息。