Android開機廣播和關機廣播

weixin_34377065發表於2013-09-22

有些時候我們需要我們的程式在系統開機後能自動執行,這個時候我們可以使用Android中的廣播機制,編寫一個繼承BroadcastReceiver的類,接受系統啟動關閉廣播。程式碼如下:

  1. /** 
  2.  *@author coolszy 
  3.  *@date 2011-6-14 
  4.  *@blog http://blog.csdn.net/coolszy 
  5.  */  
  6.   
  7. public class BootCompletedReceiver extends BroadcastReceiver  
  8. {  
  9.   
  10.     @Override  
  11.     public void onReceive(Context context, Intent intent)  
  12.     {  
  13.         Log.i("MainActivity""系統啟動完畢");  
  14.     }  
  15. }  
然後在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.   
  7. public class ShutdownReceiver extends BroadcastReceiver  
  8. {  
  9.   
  10.     @Override  
  11.     public void onReceive(Context context, Intent intent)  
  12.     {  
  13.         Log.i("MainActivity""啟動關閉中...");  
  14.     }  
  15. }  

在AndroidManifest.xml檔案中進行註冊:

  1. <receiver android:name=".ShutdownReceiver">    
  2.             <intent-filter>    
  3.                 <action android:name="android.intent.action.ACTION_SHUTDOWN"/>    
  4.             </intent-filter>    
  5.         </receiver>   
是否還需要相應的許可權呢?通過查詢幫助文件,並沒有找到相關的許可權,在模擬器中進行測試,當系統關閉後能正常輸出資訊。

相關文章