是否可以从状态栏通知中使用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
答案 0 :(得分:3)
我认为您应该通过打开通知然后关闭来打开活动B时从活动B开始活动A. 您可以在用于从活动B开始活动A的intent中传递返回值。
答案 1 :(得分:1)
不要使用startActivityForResult。您可以以不同的方式实现相同的功能。 通过结果将结果作为额外通知。将此结果输入活动B的onResume。