20秒ごとにトリガする通知をセットアップしたいと思います。私IntentServiceクラスで私のFragementが作成されたときに毎回AlarmManagerが実行されないように/開始する必要がありますか?
Intent alarmIntent = new Intent(getActivity(), IntentService.AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(getContext(), 0, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), 20000, pendingIntent);
私は次の静的クラスがあります:私は私の断片の私のonCreate()メソッドでAlarmReceiverを設定
public static class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent send = new Intent(context, IntentService.class);
context.startService(send);
}
}
私はそのIntentServiceクラスで私の通知を作成したいですそれは私が上記で始めるものです。
AlarmManagerは動作し、20秒ごとに実行されますが、私のFragmentが作成されるたびに起動されます。
私の悩みは、どこで私のAlarmManagerがいつフラッグメントが作成されたときに実行されないようにするべきですか?
alaramを開始する前にこれを使用してください:if(pendingIntent = null){ START ALARAM MANAGER } –