1

我写了一个应用程序,它会通过alarmIntent 每隔一段时间显示一个通知。用户单击通知并进入活动。在此活动中执行某些操作后,他应该在单击通知之前按一个按钮返回到他所在的原始应用程序(如浏览器或主屏幕等)。我的问题是,用户总是返回到我的应用程序的主要活动。我该如何改变呢?

谢谢!

4

4 回答 4

2

尝试在您的活动中添加此行

@Override
public void onBackPressed() {
    super.onBackPressed();
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    finish();
    System.exit(0);
}
于 2015-11-04T16:05:27.123 回答
1

所以我最终找到了解决方案:您需要将 Intent.FLAG_ACTIVITY_MULTIPLE_TASKS 标志添加到意图中,如该问题中所述: 在响应通知后按下后退按钮返回上一个屏幕

于 2015-11-11T08:31:24.400 回答
0

尝试Activity.finish()在按钮单击侦听器功能内。这类似于按下后退按钮。

于 2015-11-04T15:57:37.043 回答
0

Notification 启动的 Activity 有两种类型:常规和特殊。常规活动总是返回到 Launcher 或您之前的活动。特殊活动将返回到您的应用程序。

正如您的描述,您应该使用常规活动并通过 TaskStackBuilder 获取 PendingIntent,它将为通知活动创建一个人工回栈。

例如 :

PendingIntent resultPendingIntent =
    stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);

这是文档,您可以在此处找到详细信息。 http://developer.android.com/guide/topics/ui/notifiers/notifications.html

于 2015-11-06T13:34:38.873 回答