diff options
Diffstat (limited to 'core/java/android/app/TaskStackBuilder.java')
| -rw-r--r-- | core/java/android/app/TaskStackBuilder.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/app/TaskStackBuilder.java b/core/java/android/app/TaskStackBuilder.java index ee7c6adfeebb..7fd47474d6b1 100644 --- a/core/java/android/app/TaskStackBuilder.java +++ b/core/java/android/app/TaskStackBuilder.java @@ -206,7 +206,15 @@ public class TaskStackBuilder implements Iterable<Intent> { * @return The obtained PendingIntent */ public PendingIntent getPendingIntent(int requestCode, int flags) { + if (mIntents.isEmpty()) { + throw new IllegalStateException( + "No intents added to TaskStackBuilder; cannot getPendingIntent"); + } + Intent[] intents = mIntents.toArray(new Intent[mIntents.size()]); + intents[0].addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | + Intent.FLAG_ACTIVITY_CLEAR_TASK | + Intent.FLAG_ACTIVITY_TASK_ON_HOME); return PendingIntent.getActivities(mSourceContext, requestCode, intents, flags); } } |
