(1)首先添加權限開機啟動權限
<!--開機啟動權限-->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
(2)注冊一個BroadcastReceiver來檢測android系統開機時發出的開機廣播
package com.wxyz.dengchaoqun.testswf;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
/**
* Created by 鄧超群 on 2017/2/4.
*/
//開機自啟動廣播接受
public class AutoStartBroadcastReceiver extends BroadcastReceiver {
static final String action_boot ="android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(action_boot)){
Intent sayHelloIntent=new Intent(context,MainActivity.class);
sayHelloIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(sayHelloIntent);
}
}
}
這里要強調的是,開機啟動可以啟動app的Activity也可以啟動服務,這就看app的具體需求了,我這里是啟動的MainActivity
(3)在配置文件里面注冊服務
<!-- 開機自啟動廣播接受 -->
<receiver android:name=".AutoStartBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME"/>
</intent-filter>
</receiver>
