Android:关闭通知对话框后如何返回上一个应用程序

时间:2014-01-03 06:41:07

标签: android android-notifications android-dialog

我目前正在启动接收广播提醒的对话框。我这样做是通过启动一个活动,立即打开一个对话框:

public class AlertReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context c, Intent i) {
        Intent intent = new Intent(context, ReminderNotificationActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }
    . . .

public class ReminderNotificationActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        final ReminderNotificationDialog dialog = new ReminderNotificationDialog(this, reminder);
        dialog.show();
    }
    . . .

然而,当我关闭对话框时:

ReminderNotificationDialog.this.dismiss();
parentActivity.finish();

我被带回到我在MY应用程序中访问的最后一个屏幕。而当我发布通知时,我想回到Android设备上的任何地方。 即使屏幕显示在另一个应用程序中

e.g。如果我在Android主屏幕上然后返回那里。如果我在Chrome浏览通知时浏览网页,那么返回那里。如果我在某个页面上的自己的应用程序中,那么返回那里。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

几乎通过玩弄意图标志来解决这个问题。

如果我从FLAG_ACTIVITY_CLEAR_TASK标志开始,当我在我的活动上调用finish()时,前一个应用程序将被带到前台。

即。

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(intent);

然而,这种方法失败了,如果我在我自己的应用程序中,当通知触发时,当我关闭对话框时,我将被带回主屏幕。最好是我会被带回到我自己的应用程序的任何地方。