Android 之开机启动一个服务

Android系统在开机启动时都会发送一条广播,所以我们首先就是要捕获这条广播。但要想捕获的话,我们就必须要有接受机制。在Android中,BroadcastReceiver 是对发送出来的BroadCast 进行过滤接受并相应的一组件,而BroadCast 是广泛应用在应用程序间传输信息的一种机制。

OlympicsReceiver.java 文件,继承了 BroadcastReceiver。

public class OlympicsReceiver extends BroadcastReceiver {
	/* 要接收的intent源 */
	static final String ACTION = "android.intent.action.BOOT_COMPLETED";

	@Override
	public void onReceive(Context context, Intent intent) {
		if (intent.getAction().equals(ACTION)) {

			boolean isMessagePush = false;//不开启就设置为false;  
			if(isMessagePush){
				context.startService(new Intent(context, MessageService.class));
			}
			Toast.makeText(context, "OlympicsReminder service has started!", Toast.LENGTH_LONG).show();
		}
	}
}


当然了有了这些还不行,关键还要在 AndroidManifest.xml 文件中添加权限。

 

<receiver android:name=".system.OlympicsReceiver" android:label="@string/app_name"> 
	   		 <intent-filter> 
	       		<action android:name="android.intent.action.BOOT_COMPLETED" /> 
	       		<category android:name="android.intent.category.LAUNCHER" /> 
	   		 </intent-filter> 
		</receiver>


 

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />


温馨提示:其中<receiver></receiver>是放在<application> </application> 标签里面的,但不是<activity> </activity>里面 ,权限就不用说了吧,当然是</application> 外面,</manifest>里面啦。。。完成之后就大功告成了,关掉模拟器重启试试。。。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值