Service随系统启动运行

Android系统启动时,会发出android.intent.action.BOOT_COMPLETED广播,定义一个类继承自BroadcastReceiver,监听该广播,并在收到该广播时启动Service,就可以实现在系统启动时运行Service。

如定义类BroadReceiver继承自BroadcastReceiver,在Manifest文件中定义:

		<receiver android:name=".BroadReceiver">
			<intent-filter>
				<!-- 过滤系统启动广播 -->
				<action android:name="android.intent.action.BOOT_COMPLETED"/>
			</intent-filter>
		</receiver>

该类能够接收到android.intent.action.BOOT_COMPLETED广播。

Java文件:

public class BroadReceiver extends BroadcastReceiver{	
	
	public void onReceive(Context context, Intent intent){	
			
		// 收到系统启动广播后
		if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction()))
		{
			// 启动MainService
			Intent i1 = new Intent(context, MainService.class);
			context.startService(i1);
		}

		
	}

收到消息后,判断是否是android.intent.action.BOOT_COMPLETED消息,如果是,则用startService()方法启动Service。

 

posted @ 2014-03-29 15:59  MSTK  阅读(355)  评论(0编辑  收藏  举报