다음을 통해 공유


AlarmManager.SetExactAndAllowWhileIdle 메서드

정의

마찬가지로 #setExact(int, long, PendingIntent)시스템이 저전력 유휴 모드인 경우에도 이 알람을 실행할 수 있습니다.

[Android.Runtime.Register("setExactAndAllowWhileIdle", "(IJLandroid/app/PendingIntent;)V", "GetSetExactAndAllowWhileIdle_IJLandroid_app_PendingIntent_Handler", ApiSince=23)]
[Android.Runtime.RequiresPermission("android.permission.SCHEDULE_EXACT_ALARM")]
public virtual void SetExactAndAllowWhileIdle (Android.App.AlarmType type, long triggerAtMillis, Android.App.PendingIntent operation);
[<Android.Runtime.Register("setExactAndAllowWhileIdle", "(IJLandroid/app/PendingIntent;)V", "GetSetExactAndAllowWhileIdle_IJLandroid_app_PendingIntent_Handler", ApiSince=23)>]
[<Android.Runtime.RequiresPermission("android.permission.SCHEDULE_EXACT_ALARM")>]
abstract member SetExactAndAllowWhileIdle : Android.App.AlarmType * int64 * Android.App.PendingIntent -> unit
override this.SetExactAndAllowWhileIdle : Android.App.AlarmType * int64 * Android.App.PendingIntent -> unit

매개 변수

type
AlarmType

경보 유형입니다.

triggerAtMillis
Int64

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

operation
PendingIntent

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

특성

설명

마찬가지로 #setExact(int, long, PendingIntent)시스템이 저전력 유휴 모드인 경우에도 이 알람을 실행할 수 있습니다. 알람을 정확히 예약할 필요는 없지만 유휴 상태에서 실행해야 하는 경우 .#setAndAllowWhileIdle 이 유형의 알람은 유휴 상태일 때 알람이 꺼져야 하는 상황에 b only/b>를< 사용해야 합니다<>. 이는 사용자가 인식할 수 있도록 소리를 내야 하는 일정 알림에 대한 합리적인 예입니다. 알람이 디스패치되면 약 10초 동안 시스템의 임시 전원 예외 목록에 앱이 추가되어 해당 애플리케이션이 작업을 완료할 수 있는 추가 절전 모드 해제 잠금을 획득할 수 있습니다.</p>

이러한 경보는 유휴 상태일 때 디바이스의 전원 사용에 큰 영향을 줄 수 있으므로 앱 예약 시 배터리가 크게 저하되므로 주의해서 사용해야 합니다. 남용을 줄이기 위해 특정 애플리케이션에 대해 이러한 경보가 얼마나 자주 꺼지는지에 대한 제한이 있습니다. 정상적인 시스템 작업에서는 이러한 알람을 약 1분 이상 디스패치하지 않습니다(이 시점에서 보류 중인 모든 알람이 디스패치됨). 저전력 유휴 모드에서는 15분과 같이 이 기간이 훨씬 길어질 수 있습니다.

다른 경보와 달리, 시스템은 다른 경보, 심지어 같은 응용 프로그램에서 그 순서대로 발생하는 경보의이 유형을 다시 예약 할 수 있습니다. 이는 디바이스가 유휴 상태일 때(유휴 상태에서 이 알람이 꺼질 수 있고, 앱의 다른 알람이 나중까지 유지될 때) 분명히 발생하지만 유휴 상태가 아닌 경우에도 발생할 수 있습니다. 애플리케이션이 이 동작을 옵트인했기 때문에 OS는 일반적인 정확한 경보보다 이러한 알람을 예약하는 데 더 많은 유연성을 허용합니다. 장치가 유휴 상태이면 배터리 수명을 최적화하기 위해 예약에 더 많은 자유가 필요할 수 있습니다.

<p class="note"><strong>Note:</strong> Starting with Build.VERSION_CODES#S, SDK level 31 이상을 대상으로 하는 앱은 배터리 제한에서 제외되지 않는 한 이 API를 사용할 수 있는 권한을 요청 Manifest.permission#SCHEDULE_EXACT_ALARM SCHEDULE_EXACT_ALARM 해야 합니다. 사용자와 시스템은 설정의 특수 앱 액세스 화면을 통해 이 권한을 취소할 수 있습니다.

<p class="note"><strong>Note:</strong> Exact alarms는 사용자 연결 기능에만 사용해야 합니다. 자세한 내용은 정확한 경보 권한을 참조 하세요.

이 API를 통해 예약된 알람은 앱이 백그라운드에 있더라도 포그라운드 서비스를 시작할 수 있습니다.

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

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

적용 대상