完成意图后的结果

时间:2011-08-09 21:22:00

标签: android

我有一个正在运行的服务,它会调出一个活动(MyActivity1)。如果您通常启动我的应用程序,MyActivity2是启动的默认活动。

这是我得到的行为

  1. 服务在通知栏中显示通知
  2. 用户点击通知
  3. MyActivty1已启动
  4. 他们在此活动中完成了任何操作,并致电finish()以结束活动
  5. 他们被带回我的应用程序并显示MyActivity2
  6. 在第5步中,我希望他们返回主屏幕而不是打开我的活动。怎么可以实现呢?

    Context context = getApplicationContext();
    Intent intent = new Intent(context, ExchangeConfigActivity.class);
    NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent, 0);
    CharSequence from = getString(R.string.app_name);
    CharSequence message = "Exchange Account - Setup Required";
    Notification notif = new Notification(R.drawable.icon,"Message", System.currentTimeMillis());
    notif.setLatestEventInfo(getApplicationContext(), from, message, contentIntent);
    notif.flags = Notification.FLAG_AUTO_CANCEL;
    nm.notify(id, notif);
    

2 个答案:

答案 0 :(得分:0)

当MyActivity1发布时,MyActivity2正在被推向后台。然后,当MyActivity1完成后,它会弹回MyActivity2。

如果您指的是Android主屏幕,那么您需要做的就是在焦点失焦时完成()MyActivity2,例如onPause()。

答案 1 :(得分:0)

我认为你想在你的通知意图中开始一个新的任务堆栈:

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

这样,当用户退出通知时,会返回主屏幕。