マニフェストを介して静的に、またはアクティビティでレシーバーを登録および登録解除することにより、プログラムでブロードキャスト レシーバーを登録できることを理解しています。私の場合、コードがメモリにないときに、OS がブロードキャスト レシーバーをインスタンス化して呼び出すようにしたいと考えています。そのため、レシーバーをマニフェストに含めました。残念ながら、コードがメモリにない場合、ブロードキャスト レシーバーは実行されません。これがなぜなのか、私は非常に混乱しています。以下にマニフェストのスニペットを含めました。これに何か問題/不足がある場合はお知らせください。ありがとうございました。
<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>