要實現在Android設備開機自啟動服務,可以通過以下步驟來操作:
public class MyService extends Service {
// 服務邏輯的實現代碼
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// 在這里寫入你的服務邏輯
return super.onStartCommand(intent, flags, startId);
}
}
<application>
標簽內添加以下代碼:<service
android:name=".MyService"
android:enabled="true"
android:exported="false" />
確保使用你的服務類的完整包名和類名作為 android:name 的值。
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
// 在這里啟動你的服務
Intent serviceIntent = new Intent(context, MyService.class);
context.startService(serviceIntent);
}
}
}
<application>
標簽內添加以下代碼:<receiver
android:name=".BootReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
確保使用你的 BroadcastReceiver 類的完整包名和類名作為 android:name 的值。
完成以上步驟后,當 Android 設備開機完成時,系統會發送一個 ACTION_BOOT_COMPLETED 廣播,你的廣播接收器會接收到該廣播并啟動你的服務。