Xamarin: 应用程序未运行时 BroadcastReceiver 无法接收到消息

4

我刚接触BroadcastReceiver,目前正在尝试。据我所知,在Xamarin中,我们只需要使用BroadcastReceiver属性装饰我们的接收器子类,Xamarin将生成必要的条目,放入清单中。这是我目前拥有的:

[BroadcastReceiver(Enabled = true, Exported = true)]
[IntentFilter(new[] { "myaction" })]
class MyReceiver : BroadcastReceiver
{
}

当我在应用程序内部发送广播时,或者当我从其他应用程序发送广播而此应用程序正在运行时,一切都正常。问题是,当我没有运行此应用程序并且尝试从其他应用程序发送广播(使用正确的意图过滤器)时,我将无法接收广播。

我在这个问题上做了一些阅读,似乎对于本地Java,我们需要在清单文件中显式声明/定义BroadcastReceiver才能使其能够接收广播,即使它没有运行。据我所知,这对于Xamarin并不需要,所以现在有些困惑。你们有任何见解吗?

附加信息:

  • 我正在调试模式下运行(Visual Studio)
  • 我已经至少启动了应用程序的主要活动
  • Android 4.3

你解决这个问题了吗?我也遇到了同样的问题... - Alex Terreaux
1个回答

1

你必须在Service内部声明它。原因在进程生命周期这里中给出。

问候。


请注意,不鼓励仅包含链接的答案,Stack Overflow(SO)的答案应该是解决方案搜索的终点(而不是另一个参考站点,这些参考资料往往会随着时间的推移变得过时)。请考虑在此处添加一个独立的摘要,并将链接作为参考。 - kleopatra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接