当前位置: 代码迷 >> Android >> Android如何让一个service开机自动启动
  详细解决方案

Android如何让一个service开机自动启动

热度:77   发布时间:2016-05-01 20:43:30.0
Android怎么让一个service开机自动启动

今天我们主要来探讨android怎么让一个service开机自动启动功能的实现。Android手机在启动的过程中会触发一个Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED(记得只会触发一次呀),在这里我们可以通过构建一个广播接收者来接收这个这个action.下面我就来简单写以下实现的步骤

?

1、首先创建一个广播接收者,重构其抽象方法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的配置即可。?

  相关解决方案