私は、USB周辺機器が接続されているか取り外されているかを検出する必要のあるAndroidアプリを持っています。周辺機器が最初に接続されても正常に動作しますが、後でデタッチするときに通知が届かない(つまり、Intent
のアクションがACTION_USB_DEVICE_DETACHED
ではありません)。USBデバイスがAndroidで取り外されたときの検出
は、ここに私のAndroidManifest.xml
の関連部分です:
<activity android:name=".LauncherActivity">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
<action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" android:resource="@xml/device_filter" />
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" android:resource="@xml/device_filter" />
</activity>
またLauncherActivity
のみデバイスが接続されたときにService
を開始するには、それが切り離されたときにサービスを停止するために存在していることは注目に値するかもしれません。いずれの場合も、LauncherActivity
は常にfinish
となります。これらはすべてLauncherActivity.onCreate
で発生します。
アイデア?
こんにちは、この投稿をチェックアウトhttp://stackoverflow.com/a/9814826/760489 – Pratik