Android怎么让一个service开机自动启动

原文:http://www.360doc.com/content/12/0219/13/4873696_187796019.shtml

 

Android手机在启动的过程中会触发一个Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED(记得只会触发一次呀),在这里我们可以通过构建一个广播接收者来接收这个这个action.下面我就来简单写以下实现的步骤: 

 

首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动的Service

 

import android.content.BroadcastReceiver;  
import android.content.Context;  
import android.content.Intent;  
import android.util.Log;  

public class BootBroadcastReceiver extends BroadcastReceiver {  
       //重写onReceive方法  
        @Override  
        public void onReceive(Context context, Intent intent) {  

            //后边的XXX.class就是要启动的服务  
           Intent service = new Intent(context,XXXclass);  
            context.startService(service);  
            Log.v("TAG", "开机自动服务自动启动.....");     

        }        
}  
 

 

配置xml文件,在receiver接收这种添加intent-filter配置 

<receiver android:name="BootBroadcastReceiver">  
	<intent-filter>  
		<action android:name="android.intent.action.BOOT_COMPLETED"></action>  
		<category android:name="android.intent.category.LAUNCHER" />  
	</intent-filter>  
</receiver>  

<!--此权限在高版本中可以省略,你可以测试-->  
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>  
 

创建你需要启动的service处理(的XXX)类,并在androidMainfest.xml文件中添加(XXX)service的配置即可。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值