Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android項目 之 來電管家(8) ----- 添加開機自啟動監聽服務

android項目 之 來電管家(8) ----- 添加開機自啟動監聽服務

編輯:關於Android編程

現在大多數的應用都會開機自啟動,來電管家更是如此,添加了開機自啟動監聽服務後,開機後即使你沒有打開來電管家應用程序,一樣可以攔截來電信息。

開機自啟動Activity或Service的方法:

主要步驟:

1. 要有開機要啟動的service或activity(這裡開機要啟動的當然就是ListenService了)

2. 編寫一個BroadcastReceiver用以捕獲ACTION_BOOT_COMPLETED這條廣播,並在捕獲之後啟動我們要啟動的Activity或service。

BootCompletedReceiver.java

package com.example.callmanager;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;

public class BootCompletedReceiver extends BroadcastReceiver {
	SharedPreferences spf;
	@Override
	public void onReceive(Context context, Intent intent) {
		
		if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
			 spf = context.getSharedPreferences("setting", Activity.MODE_PRIVATE);
			 Intent newIntent = new Intent("com.example.callmanager.ListenService");
			 
			 newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  //注意,必須添加這個標記,否則啟動會失敗 
			 System.out.println("start by broadcast");
			 if(spf.getBoolean("isStartListen", false))
				 context.startService(newIntent);  
			
		}      
		 
	}

}

這裡同樣取出了用戶的設置信息,如果用戶未啟用監聽服務,則開機不自啟動監聽服務,更加人性化。

3. 在AndroidManifest.xml配置文件中注冊我們的BroadcastReceiver

	
		 
			 
		 
	  

4. 在AndroidManifest.xml配置文件中添加允許我們捕獲該廣播的權限

      

這樣,通過以上四個步驟,就可實現Activity或Service的開機自啟動。

至此,該來電管家的基本攔截功能,以及顯示攔截信息,定時攔截,監聽開關,攔截模式功能已全部實現,當然了,該應用還可以繼續完善,如,將攔截記錄添加通知欄,制作應用啟動畫面,添加手勢滑動,添加短信攔截等更加豐富的功能。

附:完整代碼下載

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