gpt4 book ai didi

android - 为什么我的 BroadcastReceiver 收不到来自其他应用程序的广播?

转载 作者:太空狗 更新时间:2023-10-29 12:58:34 24 4
gpt4 key购买 nike

应用 A 在其 list 中(在 中)有这个 BroadcastReceiver:

这个接收器:

public class RemoteControl extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
Log.w(TAG, "Look what I did!");
}
}

我正在尝试从 App B 触发此操作:

public void onClick(View v) {
Log.w(TAG, "Sending stuff");
Intent i = new Intent("app.a.remotecontrol");
i.setData("http://test/url");
sendBroadcast(i);
}

无论出于何种原因,应用 A 中的 onReceive() 从未被触发,即使它是从应用 B 广播的。这可能是什么原因造成的?

编辑和解决方案:我忘了写在广播之前我在 Intent 上使用了 setData() 。这确实是问题所在:我一删除 setData(),广播就按预期工作了。

最佳答案

最初我忘了写我在广播之前在 Intent 上使用了 setData() 。这确实是问题所在:一旦我删除了 setData(),广播就按预期工作了。

我已经改用 putExtra() 代替 Intent 元数据:

Intent i = new Intent("app.a.remotecontrol");
i.putExtra("url", "http://test/url");
sendBroadcast(i);

关于android - 为什么我的 BroadcastReceiver 收不到来自其他应用程序的广播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3179063/

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