我是 BroadcastReceiver 的新手,目前正在试用。根据我对 Xamarin 的理解,我们只需要用 BroadcastReceiver 属性修饰我们的接收器子类,Xamarin 将在 list 中生成必要的条目。这是我目前拥有的:
[BroadcastReceiver(Enabled = true, Exported = true)]
[IntentFilter(new[] { "myaction" })]
class MyReceiver : BroadcastReceiver
{
}
当我在应用程序本身内发送广播时,或者当我在该应用程序运行时从其他应用程序发送广播时,一切正常。问题是当我没有运行这个应用程序时,如果我尝试从其他应用程序发送广播(使用正确的 intent 过滤器),我将无法接收广播。
我在这里阅读了一些关于这个问题的内容,看来对于原生 Java,我们需要在 list 本身中显式声明/定义 BroadcastReceiver,以便它即使在未运行时也能够接收广播.据我了解,这不是 Xamarin 所必需的,所以我现在有点卡住了。你们对此有什么见解吗?
附加信息:
- 我在 Debug模式下运行 (visual studio)
- 我至少启动过一次应用程序主 Activity
- 安卓4.3
最佳答案
您必须在服务中声明它。给出原因here在流程生命周期部分。
问候。
关于android - Xamarin:当应用程序未运行时 BroadcastReceiver 未收到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24850526/