- 在Android 启动完成时会自动发出一个广播: android.intent.action.BOOT_COMPLETED。
- 我们要做的是顶一个广播接收器 BroadcastReceiver ,在其 intent-filter 段中定义 一条 BOOT_COMPLETED的action。
- 在这个Receiver 的 onReceive方法中启动指定的服务。
相关代码片段:
Receiver:
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class ServiceLoader extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent serviceIntent = new Intent();
serviceIntent.setAction("my.package.LCService");
context.startService(serviceIntent);
}
}
AndroidManifest.xml:
...
<receiver android:name="ServiceLoader">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
<category android:name="android.intent.category.HOME"></category>
</intent-filter>
</receiver>
...
在要启动的 Service 的 intent-filter段中需要定义 my.package.LCService 的action。
--
yaoms
没有评论:
发表评论