Skip to content

Commit e44b44f

Browse files
committed
Bug 469723 - AlarmPingSender causes timeout on Android API >= 19
When running on Android API 19 and above, use setExact when setting the next Ping Alarm. Signed-off-by: James Sutton <james.sutton@uk.ibm.com>
1 parent d7bf860 commit e44b44f

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

  • org.eclipse.paho.android.service/org.eclipse.paho.android.service/src/main/java/org/eclipse/paho/android/service

org.eclipse.paho.android.service/org.eclipse.paho.android.service/src/main/java/org/eclipse/paho/android/service/AlarmPingSender.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import android.content.Context;
2525
import android.content.Intent;
2626
import android.content.IntentFilter;
27+
import android.os.Build;
2728
import android.os.PowerManager;
2829
import android.os.PowerManager.WakeLock;
2930
import android.util.Log;
@@ -103,8 +104,13 @@ public void schedule(long delayInMilliseconds) {
103104
Log.d(TAG, "Schedule next alarm at " + nextAlarmInMilliseconds);
104105
AlarmManager alarmManager = (AlarmManager) service
105106
.getSystemService(Service.ALARM_SERVICE);
106-
alarmManager.set(AlarmManager.RTC_WAKEUP, nextAlarmInMilliseconds,
107-
pendingIntent);
107+
if (Build.VERSION.SDK_INT >= 19) {
108+
alarmManager.setExact(AlarmManager.RTC_WAKEUP, nextAlarmInMilliseconds,
109+
pendingIntent);
110+
} else {
111+
alarmManager.set(AlarmManager.RTC_WAKEUP, nextAlarmInMilliseconds,
112+
pendingIntent);
113+
}
108114
}
109115

110116
/*

0 commit comments

Comments
 (0)