diff options
Diffstat (limited to 'src/com/android/deskclock/AlarmReceiver.java')
-rw-r--r-- | src/com/android/deskclock/AlarmReceiver.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/com/android/deskclock/AlarmReceiver.java b/src/com/android/deskclock/AlarmReceiver.java index 242f865b5..2bacada09 100644 --- a/src/com/android/deskclock/AlarmReceiver.java +++ b/src/com/android/deskclock/AlarmReceiver.java @@ -26,6 +26,11 @@ import android.content.Intent; import android.content.BroadcastReceiver; import android.database.Cursor; import android.os.Parcel; +import android.text.TextUtils; + +import java.net.URISyntaxException; +import java.text.SimpleDateFormat; +import java.util.Date; /** * Glue class: connects AlarmAlert IntentReceiver to AlarmAlert @@ -112,6 +117,19 @@ public class AlarmReceiver extends BroadcastReceiver { c = AlarmAlertFullScreen.class; } + // If there's an intent specified, start that activity. + if (!TextUtils.isEmpty(alarm.intent)) { + try { + Intent alarmActivity = Intent.parseUri(alarm.intent, Intent.URI_INTENT_SCHEME); + alarmActivity.setFlags(alarmActivity.getFlags() | Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(alarmActivity); + } catch (URISyntaxException e) { + // Silently fail since the intent failed to parse. + } + } else { + Log.i("Empty or null intent!"); + } + // Play the alarm alert and vibrate the device. Intent playAlarm = new Intent(Alarms.ALARM_ALERT_ACTION); playAlarm.putExtra(Alarms.ALARM_INTENT_EXTRA, alarm); |