gpt4 book ai didi

android - 在不使用显式 Intent 的情况下仅向一个应用程序发送广播 Intent

转载 作者:行者123 更新时间:2023-11-29 00:23:57 26 4
gpt4 key购买 nike

我有一个问题。我正在做一个外部 android 服务,应用程序可以在其中注册以接收信息。信息通过广播从服务返回到应用程序,并使用 broadcastReceiver 接收它。

问题是如果我执行 sendBroadcast,任何应用程序都可以收听其他人的信息,我可以使用 Intent 过滤器上的类别,但两个应用程序可以有相同的类别,或者恶意应用程序可以随意执行此操作。

解决方案是明确的 Intent ,但为此我需要应用程序注册包和它将接收 Intent 的类。我不喜欢这个解决方案。

我认为存在另一种解决方案,因为 GCM 的功能非常相似并且只需要 broadcastreceiver

我添加一个小图表:

enter image description here

是否可以在不定义类的情况下仅向特定应用发送广播?

GCM 是如何做到的?

最佳答案

如果我对你的问题的理解正确,你关心的是如何让服务安全地将信息发送回客户端。

在这种情况下,您可以使用 PendingIntent

PendingIntentParcelable,因此客户端很容易将其交付给服务。您的服务可以跟踪这些并根据需要 send() 它们,提供额外的数据以放入 Intent extras 用于由PendingIntent.

将响应 PendingIntent 的组件—— Activity 、服务或接收器——不需要导出。

关于android - 在不使用显式 Intent 的情况下仅向一个应用程序发送广播 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21141893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com