【发布时间】:2015-06-22 17:36:04
【问题描述】:
标题很好地解释了我的问题。我有一个正在运行的活动,当应用程序发送通知时,我想更改我已经运行的活动中的活动片段。如果在任何时候调用MainActivity.onDestroy,那么就出了问题。
Google Play 商店应用演示了我的问题解决方案的一个示例。当 Play 商店在后台打开并且另一个应用/通知打开 Play 商店应用时,Play 商店会打开您打开的最后一个片段,然后继续加载新片段,但不会重新启动 Activity。
我尝试了几种解决方案,例如:
viewContactsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
viewContactsIntent.setAction(Intent.ACTION_MAIN);
viewContactsIntent.addCategory(Intent.CATEGORY_LAUNCHER);
并将android:launchMode="singleTop 添加到清单中的 MainActivity 标记。
到目前为止还没有任何工作。
谢谢。
编辑:
深入了解用于构建我的通知的代码。
Class viewContacts = MainActivity.class;
Intent viewContactsIntent = new Intent(context, viewContacts);
TaskStackBuilder sbViewContacts = TaskStackBuilder.create(context);
sbViewContacts.addParentStack(viewContacts).addNextIntent(viewContactsIntent);
int piFlag = PendingIntent.FLAG_UPDATE_CURRENT;
PendingIntent piViewContacts = sbViewContacts.getPendingIntent(0, piFlag);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context).setContentIntent(piViewContacts);
收到电话后,此通知会从 PhoneStateListener 中发送。
【问题讨论】:
标签: android android-fragments android-intent android-notifications