Android学习之Service开机启动
Android在开机启动后系统会发出一个Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED,这个Action只会发出一次。我们所要实现的Service开机启动这是基于
android.intent.action.BOOT_COMPLETED;
开发步骤: 1. 开机启动后系统会发射出一个Standard Broadcast Action,名字叫
android.intent.action.BOOT_COMPLETED。 2. 构造一个IntentReceiver类,重构其抽象方法onReceive(Context
context, Intent intent),在其中启动你想要启动的Service。 3. 在AndroidManifest.xml中,首先加入<uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses- permission>来获得BOOT_COMPLETED的使用许可,然后注册前面重构的IntentReceiver类,在其<intent-filter>中加入<action android:name="android.intent.action.BOOT_COMPLETED" /> ,以使其能捕捉到这个Action。
以下是我做的安防软件中的一部分代码,它所实现的是:开机自启动服务,并完成对手机IMSI卡的监测,判断是否更换手机卡,如果更换将向安全手机号发送更换后的相关信息:
首先是配置AndroidManifest.xml:
1. 增加权限:
<!-- 开机启动权限 -->
<uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
2.
相关IMSIChangeService代码:
package com.tsnc.safe.service;
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;