Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android之手機開機啟動Service服務

android之手機開機啟動Service服務

編輯:關於Android編程

之前,介紹了四大組件的BroadCastReceiver和Service,這次我們利用廣播來啟動Service服務. 這種實現在很多APP都有出現,比如很多應用安裝後,只要使用過一次,後面重啟手機它可能就會推送一些消息給用戶的手機,在頂欄顯示某個應用又有什麼消息之類的.這只是Service的行為, 只要成功啟動了Service服務,還可以根據需要自定義其他的行為.

 

關於BroadCastReceiver,這裡根據之前的介紹補充一點,就是靜態配置和動態配置的不同:

在AndroidManifest.xml裡面配置是靜態配置,在代碼裡配置則是動態配置.動態配置比靜態配置要快.而靜態配置的優點是即使應用沒有啟動, 也能接收到特定的廣播.從而在特定的廣播接收器去自定義一些行為.我們應該根據需要去選擇不同的實現.

 

開機啟動Service的原理:

手機成功啟動後會發出一個ACTION_BOOT_COMPLETED的廣播,在應用的AndroidManifest.xml的廣播配置裡面配置接收這條廣播的廣播接收器,然後再接收器中啟動指定的Service服務.

 

首先給AndroidManifest.xml加上可以攔截這個廣播的權限:

 

配置廣播接收器

 


在自定義MyReceiver的onReceive()中去啟動指定的Service:

 

 

public class MyReceiver extends BroadcastReceiver {
		 
	    @Override
	    public void onReceive(Context context, Intent intent) {
	    	//在這裡啟動MyService
	        Intent intent = new Intent();
	        intent.setAction(com.test.myapp.MyService);
	        context.startService(intent);
	    }
	}

這樣就完成了開機啟動Service服務,至於要在Service裡面去做什麼就根據需要去自定義吧. 值得注意是,在3.0以上的系統,該應用必須至少被啟動過一次,後面才能成功捕獲ACTION_BOOT_COMPLETED廣播.

 

 

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved