整理了下開機啓動服務,可以用來做來電黑名單,來電,去電號碼歸屬地的顯示等~~
開機啓動時系統會發出一個Standard BroadCast Action---android.intent.action.BOOT_COMPLETED動作,
此動作本質爲系統廣播事件, 且只會執行一次,因此要實現開機啓動,需要定義一個廣播接收者來接收此廣播事件,在onReceive方法中完成啓動服務
部分代碼:
public class BootReceiver extendsBroadcastReceiver {
@Override
publicvoid onReceive(Context context, Intent intent) {
//當手機重啓後 開啓服務
Intentintent = new Intent(context,PhoneService.class);
context.startService(intent);
}
}
清單文件的配置
<!-- 權限配置 -->
<uses-permissionandroid:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<!-- 配置廣播接收者 -->
<receiverandroid:name="com.itheima.phonelistener.BootReceiver">
<intent-filter >
<actionandroid:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
另外,記得要配置服務哦
<service android:name="com.itheima.phonelistener.PhoneService"></service>
小提示:Android四大組件都需要要在清單文件配置
BroadCastReceiver既可以在清單文件配置,又可以代碼配置