1

是否可以从状态栏通知中使用 startActivityForResult() ?

假设我有一个活动 A,它在某些事件上使用 startActivityForResult() 启动活动 B。现在,当它在后台时,它会在事件中显示通知。现在在选择通知时,我如何启动活动 B 以获得结果?

我确实意识到活动 A 应该有一个在后台运行的服务,但我想即使在这种情况下,同样的问题也会适用。

这是通知的代码。这是在活动 A 中。

    Notification notification = new Notification(R.drawable.ic_launcher, "New Notification", System.currentTimeMillis());

    notification.flags = Notification.FLAG_AUTO_CANCEL;
    CharSequence contentTitle = "My Notification Title";
    CharSequence contentText = "My Notification Text";
    Intent notificationIntent = new Intent(this, ActivityB.class);

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

    notification.setLatestEventInfo(getApplicationContext(), contentTitle, contentText, contentIntent);

    nm.notify(1, notification);  //1 = id
4

2 回答 2

3

我认为当通过打开通知打开活动 B 然后关闭时,您应该从活动 B 开始活动 A。您可以在用于从活动 B 启动活动 A 的意图中传递返回值。

于 2012-04-08T21:47:03.117 回答
1

不要使用 startActivityForResult。您可以通过不同的方式实现相同的功能。将结果作为附加通知传递给您。在活动 B 的 onResume 中获取此结果。

于 2012-04-08T08:57:50.993 回答