【问题标题】:onActivityResult for PendingIntentPendingIntent 的 onActivityResult
【发布时间】:2011-09-01 20:18:48
【问题描述】:

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

【问题讨论】:

    标签: android android-intent android-pendingintent notificationmanager


    【解决方案1】:

    假设您有设置PendingIntent 的活动A。这个PendingIntent 调用活动B。您想收到B 的结果。

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

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

    【讨论】:

    • 谢谢你inazaruk!我认为它会起作用,但我希望更优雅。
    【解决方案2】:

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

    intet.putStringExtra("from notification") ;
    

    在活动 B 中:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-08
      • 2023-04-08
      • 2012-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      相关资源
      最近更新 更多