Xamarin:当应用程序未运行时,BroadcastReceiver无法接收

时间:2014-07-20 12:31:27

标签: android broadcastreceiver xamarin

我是BroadcastReceiver的新手,我目前正在试用它。根据我对Xamarin的理解,我们只需要使用BroadcastReceiver属性来装饰我们的接收器子类,Xamarin将在清单中生成必要的条目。这就是我目前所拥有的:

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

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

我已经在这个问题上做了一点阅读,看来对于本机Java,我们需要在清单本身明确声明/定义BroadcastReceiver,以便它能够接收广播,即使它没有运行。根据我的理解,Xamarin不需要这样做,所以我现在就被卡住了。你们对此有什么见解吗?

其他信息:

  • 我在调试模式(visual studio)上运行
  • 我已经启动了应用程序主要活动至少一次
  • Android 4.3

1 个答案:

答案 0 :(得分:1)

您必须在服务中声明它。原因在Process Lifecycle部分中给出了here

问候。