Я настроил AlarmManager на повторный вызов моей службы для обновления базы данных.Но, похоже, мой AlarmManager никогда не вызывает мою службу.Я поставил system.out в эксплуатацию, но он никогда не печатался в выходных данных.
У меня есть этот фрагмент кода в моей MainActivity:
Intent intent = new Intent(getApplicationContext(), ServiceAreaAlarmReceiver.class);
final PendingIntent pIntent = PendingIntent.getBroadcast(this, ServiceAreaAlarmReceiver.REQUEST_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT);
long firstMillis = System.currentTimeMillis();
AlarmManager alarm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
alarm.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstMillis + 60000, 60000, pIntent);
, и это мой манифест:
<receiver
android:name=".service.ServiceAreaAlarmReceiver" />
<service
android:name=".service.UpdateDatabaseService"
android:exported="false" />
и это мой сервис:
public class ServiceAreaAlarmReceiver extends BroadcastReceiver {
public static final int REQUEST_CODE = 12345;
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("got here");
context.startService(new Intent(context, UpdateDatabaseService.class));
}
}