다음을 통해 공유


AlarmManager.SetRepeating(AlarmType, Int64, Int64, PendingIntent) 메서드

정의

반복 알람을 예약합니다.

[Android.Runtime.Register("setRepeating", "(IJJLandroid/app/PendingIntent;)V", "GetSetRepeating_IJJLandroid_app_PendingIntent_Handler")]
public virtual void SetRepeating (Android.App.AlarmType type, long triggerAtMillis, long intervalMillis, Android.App.PendingIntent operation);
[<Android.Runtime.Register("setRepeating", "(IJJLandroid/app/PendingIntent;)V", "GetSetRepeating_IJJLandroid_app_PendingIntent_Handler")>]
abstract member SetRepeating : Android.App.AlarmType * int64 * int64 * Android.App.PendingIntent -> unit
override this.SetRepeating : Android.App.AlarmType * int64 * int64 * Android.App.PendingIntent -> unit

매개 변수

type
AlarmType

경보 유형입니다.

triggerAtMillis
Int64

알람 유형에 따라 적절한 시계를 사용하여 알람이 먼저 꺼져야 하는 시간(밀리초)입니다.

intervalMillis
Int64

경보의 후속 반복 사이의 간격(밀리초)입니다.

operation
PendingIntent

알람이 꺼지면 수행할 작업입니다. 은 일반적으로 .에서 PendingIntent#getBroadcast IntentSender.getBroadcast()제공됩니다.

특성

설명

반복 알람을 예약합니다. <b>참고: 타이밍 작업(틱, 시간 제한 등)의 경우 사용하는 android.os.Handler것이 더 쉽고 효율적입니다.</b> 동일한 IntentSender에 대한 알람이 이미 예약된 경우 먼저 취소됩니다.

마찬가지로 #set알람이 자동으로 반복되는 기간을 제공할 수도 있습니다. 이 경보는 .와 함께 #cancel명시적으로 제거될 때까지 반복됩니다. 명시된 트리거 시간이 과거인 경우 트리거 시간이 반복 간격을 기준으로 지난 시간에 따라 경보 횟수와 함께 즉시 트리거됩니다.

알람이 지연되는 경우(예: _WAKEUP 아닌 경보 유형의 경우 시스템 절전 모드에서) 건너뛴 반복이 가능한 한 빨리 전달됩니다. 그 후, 미래의 경보는 원래 일정에 따라 전달됩니다; 시간이 지남에 따라 표류하지 않습니다. 예를 들어 매시간 맨 위에 되풀이 알람을 설정했지만 전화가 7:45부터 8:45까지 잠들어 있으면 전화가 깨어나자마자 알람이 전송되고 다음 알람은 9:00에 전송됩니다.

애플리케이션이 적어도 특정 시간 간격이 항상 경보 사이에 경과하도록 보장하기 위해 배달 시간이 드리프트되도록 하려는 경우, 각 경보 배달을 처리할 때 일회성 경보를 사용하여 다음 알람을 직접 예약하는 것이 좋습니다.

<p class="note"><b>Note:</b> 는 API 19를 기준으로 반복하는 모든 알람이 비활성입니다. 애플리케이션에 정확한 배달 시간이 필요한 경우 위에서 설명한 대로 매번 다시 예약하여 일회성 정확한 경보를 사용해야 합니다. API 19보다 이전인 레거시 애플리케이션 targetSdkVersion 은 반복 알람을 포함하여 모든 알람을 정확하게 처리합니다.

앱 대상 지정 Build.VERSION_CODES#S 은 알람 수를 키Intent#EXTRA_ALARM_COUNT와 함께 제공하려는 경우 이 알람을 설정하는 데 사용되는 플래그 PendingIntent#FLAG_MUTABLEPendingIntent 를 설정해야 합니다.

에 대한 android.app.AlarmManager.setRepeating(int, long, long, android.app.PendingIntent)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

추가 정보

  • Handler
  • <xref:Android.App.AlarmManager.Set(Android.App.AlarmType%2c+System.Int64%2c+System.Int64)>
  • <xref:Android.App.AlarmManager.SetExact(Android.App.AlarmType%2c+System.Int64%2c+System.Int64)>
  • <xref:Android.App.AlarmManager.SetWindow(Android.App.AlarmType%2c+System.Int64%2c+System.Int64%2c+System.Int64)>
  • Cancel(PendingIntent)
  • SendBroadcast(Intent)
  • <xref:Android.Content.Context.RegisterReceiver(Android.Content.BroadcastReceiver%2c+Android.Content.IntentFilter)>
  • FilterEquals(Intent)