android - Xamarin:当应用程序未运行时 BroadcastReceiver 未收到

标签 android broadcastreceiver xamarin

我是 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/

相关文章:

带广播接收器的 Android 警报管理器

android - 将数据传递给 Intent/BroadcastReceiver

启动时的 Android BroadcastReceiver - 当 Activity 处于后台时继续运行

c# - 在 Xamarin ios 中显示不同样式(列表、网格、 block )的项目?

android - AsyncTask 和方向变化

android.media.MediaExtractor。有人让这个野兽工作吗? "Failed to instantiate extractor"异常

android - xamarin 中的 shrinkresource、proguard 等不会减小我的应用程序大小

ios - ASWebAuthenticatioSession SSO对话同意问题

android - 如何检测在 Android 中完全下载的彩信?

android - 如何使用android应用程序捕获http请求