gpt4 book ai didi

没有 Intent 过滤器的Android BroadcastReceiver

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:51:14 25 4
gpt4 key购买 nike

我在一些 android 广告网络 sdk 中看到它们声明的 BroadcastReceiver 没有 Intent 过滤器。像这样:

<receiver android:name="com.example.SampleReceiver" />

我的猜测是这样的接收器会捕获所有可能的事件。所以我尝试自己做并创建了一个 SampleReceiver:

public class SampleReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
System.out.println("Event captured: " + intent.getAction());
}
}

我启动了该应用程序,尝试通过在我的手机上执行各种操作来触发一些事件,但我注意到 onReceive() 一次都没有被调用。

所以问题是 - 这种没有 Intent 过滤器的 BroadcastReceiver 是如何工作的?也许它需要通过代码创建 Intent 过滤器?如果是这样,如何?如果没有,那为什么它没有收到任何事件?这是怎么回事?

最佳答案

如果你没有一些 Intent 过滤器,接收东西的唯一方法是明确地调用接收者。这看起来像这样:

context.sendBroadcast(new Intent(context, MyBroadcastReceiverClass.class));

另一个人已经在下面的帖子中回答了这个问题: https://stackoverflow.com/questions/10051256/broadcast-receiver-not-receiving

关于没有 Intent 过滤器的Android BroadcastReceiver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11901195/

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