PendingIntent 的 onActivityResult

发布于 2024-12-02 16:32:43 字数 668 浏览 1 评论 0原文

如何获取从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:此代码位于活动之外,因此它收到 上下文作为参数

How do i get the result of an activity started from NotificationManager?

In other words i need to get the resultCode from a PendingIntent.

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);
}

I want to be notified when the browser's activity ends.

OBS: This code is outside an activity, that's why it recieves the
context as parameter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一刻暧昧 2024-12-09 16:32:43

假设您有设置 PendingIntent 的活动 A。此 PendingIntent 调用活动 B。您想要接收 B 的结果。

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

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

Let's assume you have activity A that sets PendingIntent. This PendingIntent calls activity B. You want receive result of B.

You can do this by introducing proxy activity: A -> PendingIntent -> ProxyActivity --> startActivityForResult --> B. This way you'll receive result from B into your ProxyActivity activity.

Note that you should call startActivityForResult() in ProxyActivity.onCreate().

眼藏柔 2024-12-09 16:32:43

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

intet.putStringExtra("from notification") ;

在活动 B 中:

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

Let's see in simply way ,
IN Activity A :

intet.putStringExtra("from notification") ;

In Activity B:

if (getintent().getStringExtra("from notification") !=null ){
//TODO do what u want !
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文