From 9bc85bb46044daf5d6ef0c3a6ee1a03ad7232e4f Mon Sep 17 00:00:00 2001 From: Tom Schmiedlechner Date: Mon, 17 Jun 2024 14:18:20 +0200 Subject: [PATCH] Use non-exact alarms in Android 14+ --- .../Broadcasting/StartLauncherBroadcastReceiver.cs | 10 +++++++++- .../Properties/AndroidManifest.xml | 11 +++-------- .../Broadcasting/StartLauncherBroadcastReceiver.cs | 10 +++++++++- .../Properties/AndroidManifest.xml | 12 +++--------- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/fiskaltrust.AndroidLauncher.Grpc/Broadcasting/StartLauncherBroadcastReceiver.cs b/src/fiskaltrust.AndroidLauncher.Grpc/Broadcasting/StartLauncherBroadcastReceiver.cs index f50c02c9..8784fc2e 100644 --- a/src/fiskaltrust.AndroidLauncher.Grpc/Broadcasting/StartLauncherBroadcastReceiver.cs +++ b/src/fiskaltrust.AndroidLauncher.Grpc/Broadcasting/StartLauncherBroadcastReceiver.cs @@ -46,7 +46,15 @@ public override void OnReceive(Context context, Intent intent) var pending = PendingIntent.GetBroadcast(Application.Context, 0, alarmIntent, PendingIntentFlags.UpdateCurrent | PendingIntentFlags.Immutable); var alarmManager = (AlarmManager)Application.Context.GetSystemService(Context.AlarmService); - alarmManager.SetExact(AlarmType.ElapsedRealtime, SystemClock.ElapsedRealtime() + 100, pending); + + if (Build.VERSION.SdkInt <= BuildVersionCodes.SV2) + { + alarmManager.SetExact(AlarmType.ElapsedRealtime, SystemClock.ElapsedRealtime() + 100, pending); + } + else + { + alarmManager.Set(AlarmType.ElapsedRealtime, SystemClock.ElapsedRealtime() + 100, pending); + } } } diff --git a/src/fiskaltrust.AndroidLauncher.Grpc/Properties/AndroidManifest.xml b/src/fiskaltrust.AndroidLauncher.Grpc/Properties/AndroidManifest.xml index e724cddd..ddfbea46 100644 --- a/src/fiskaltrust.AndroidLauncher.Grpc/Properties/AndroidManifest.xml +++ b/src/fiskaltrust.AndroidLauncher.Grpc/Properties/AndroidManifest.xml @@ -1,12 +1,7 @@  - + - + @@ -14,5 +9,5 @@ - + \ No newline at end of file diff --git a/src/fiskaltrust.AndroidLauncher.Http/Broadcasting/StartLauncherBroadcastReceiver.cs b/src/fiskaltrust.AndroidLauncher.Http/Broadcasting/StartLauncherBroadcastReceiver.cs index c5060248..be9f0358 100644 --- a/src/fiskaltrust.AndroidLauncher.Http/Broadcasting/StartLauncherBroadcastReceiver.cs +++ b/src/fiskaltrust.AndroidLauncher.Http/Broadcasting/StartLauncherBroadcastReceiver.cs @@ -46,7 +46,15 @@ public override void OnReceive(Context context, Intent intent) var pending = PendingIntent.GetBroadcast(Application.Context, 0, alarmIntent, PendingIntentFlags.UpdateCurrent | PendingIntentFlags.Immutable); var alarmManager = (AlarmManager)Application.Context.GetSystemService(Context.AlarmService); - alarmManager.SetExact(AlarmType.ElapsedRealtime, SystemClock.ElapsedRealtime() + 100, pending); + + if (Build.VERSION.SdkInt <= BuildVersionCodes.SV2) + { + alarmManager.SetExact(AlarmType.ElapsedRealtime, SystemClock.ElapsedRealtime() + 100, pending); + } + else + { + alarmManager.Set(AlarmType.ElapsedRealtime, SystemClock.ElapsedRealtime() + 100, pending); + } } } diff --git a/src/fiskaltrust.AndroidLauncher.Http/Properties/AndroidManifest.xml b/src/fiskaltrust.AndroidLauncher.Http/Properties/AndroidManifest.xml index 38f2beb6..6e8581aa 100644 --- a/src/fiskaltrust.AndroidLauncher.Http/Properties/AndroidManifest.xml +++ b/src/fiskaltrust.AndroidLauncher.Http/Properties/AndroidManifest.xml @@ -1,18 +1,12 @@  - + - + - + \ No newline at end of file