我知道我可以通过清单静态注册广播接收器,也可以通过在活动中注册和取消注册接收器以编程方式注册广播接收器。就我而言,我希望操作系统在我的代码不在内存中时实例化并调用我的广播接收器。所以我在我的清单中包含了我的接收器。不幸的是,如果我的代码不在内存中,我的广播接收器永远不会运行。我很困惑为什么会这样。我在下面包含了我的清单片段。请让我知道这是否有问题/遗漏。谢谢你。
<receiver android:name=".DesktopConnectionReceiver"
android:enabled="true"
android:exported="true"
android:process=":remote">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
<action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
<action android:name="android.intent.action.UMS_CONNECTED"/>
</intent-filter>
</receiver>