4

我如何获得从 NotificationManager 开始的活动的结果?

换句话说,我需要从 PendingIntent 中获取 resultCode。

public void test(Context context){
    Notification notification = new Notification(null, "text", System.currentTimeMillis());
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse("http://www.example.com"));
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
    notification.setLatestEventInfo(context, "text", "text", pendingIntent);
    notificationManager.notify(0, notification);
}

我想在浏览器的活动结束时收到通知。

OBS:此代码在活动之外,这就是它接收上下文作为参数的原因

4

2 回答 2

3

假设您有A设置PendingIntent. 这PendingIntent称为活动B。你想收到的结果B

您可以通过引入代理活动来做到这一点:A-> PendingIntent-> ProxyActivity--> startActivityForResult--> B。这样,您将收到来自B活动的ProxyActivity结果。

请注意,您应该调用startActivityForResult().ProxyActivity.onCreate()

于 2011-09-01T20:27:32.853 回答
0

让我们简单地看一下,在活动 A 中:

intet.putStringExtra("from notification") ;

在活动 B 中:

if (getintent().getStringExtra("from notification") !=null ){
//TODO do what u want !
}
于 2013-02-01T13:01:27.677 回答