開始するバックグラウンド サービスと AlaramManager があります。AlarmManager が起動したときにログに記録したところ、アプリケーションで実行中のアクティビティがなく、バックグラウンド サービスのみが実行されている場合にのみ起動することがわかりました..なぜですか?
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (app.isApplicationInitilized())
{
//stopAlarmManager();
server.start();
startAlarmManager();
}
return START_NOT_STICKY;
}
public void startAlarmManager()
{
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (10*1000), 10*1000, alarmPendingIntent);
}
private void setAlarmManager() {
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(this, AlarmManagerReceiver.class);
alarmPendingIntent = PendingIntent.getBroadcast(this, 8258, intent, PendingIntent.FLAG_CANCEL_CURRENT);
}