PendingIntent的onActivityResult

时间:2011-09-01 20:18:49

标签: android android-intent android-pendingintent notificationmanager

如何从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:此代码在活动之外,这就是它收到的原因   上下文作为参数

2 个答案:

答案 0 :(得分:3)

假设您有A设置PendingIntent的活动。此PendingIntent调用活动B。您希望收到B的结果。

您可以通过引入代理活动来完成此操作:A - > PendingIntent - > ProxyActivity - > startActivityForResult - > B。这样,您就会从B活动收到ProxyActivity的结果。

请注意,您应该在startActivityForResult()中致电ProxyActivity.onCreate()

答案 1 :(得分:1)

让我们以简单的方式看待, 在活动A:

intet.putStringExtra("from notification") ;

在活动B中:

if (getintent().getStringExtra("from notification") !=null ){
//TODO do what u want !
}