package com.TestReceiver;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class BootCompletedReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action != null)
if (
action.equalsIgnoreCase(Intent.ACTION_BOOT_COMPLETED)
|| action.equalsIgnoreCase("com.TestReceiver.BootCompletedCustomIntent")
)
{
Intent TestLauncher = new Intent();
TestLauncher.setClassName(context, "com.TestReceiver.BootCompletedReceiver");
TestLauncher.setAction("com.TestReceiver.StartServiceIntent");
PendingIntent pintent = PendingIntent.getBroadcast(context, 0, TestLauncher, 0);
AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 5000, pintent);
}
else if (action.equalsIgnoreCase("com.TestReceiver.StartServiceIntent"))
{
Intent TestLauncher = new Intent();
TestLauncher.setClassName(context, "com.embarcadero.services.myService");
context.startService(TestLauncher);
}
}
}
Вот пример 1 из моих сервисов. Сначала стартует аларм менеджер, который сюда же шлет интенты на старт сервиса "myService".
В манифесте в ресиверах прописаны эти интенты
<receiver android:name="com.TestReceiver.BootCompletedReceiver" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="com.TestReceiver.BootCompletedReceiver" />
<action android:name="com.TestReceiver.BootCompletedCustomIntent" />
<action android:name="com.TestReceiver.StartServiceIntent" />
</intent-filter>
</receiver>