私は ICS を使用しており、USB デバイスやアクセサリがタブレットに差し込まれたり差し込まれたりしたときに呼び出される受信機を接続しようとしています。
ドキュメントとその他のスタックの質問に基づいて、*必要なのは下のコードだけのようですが、このコードを実行しても何も起こりません...デバイスにUSBアクセサリが差し込まれているため、わかりにくいですそのため、私のデバッグは、実際のデバッグではなく、ファイルに何かを書き込むだけですが、*何もしていないようです.
IntentFilter attachFilter = new IntentFilter();
attachFilter.addAction(ACTION_USB_PERMISSION);
attachFilter.addAction(UsbManager.ACTION_USB_ACCESSORY_ATTACHED);
registerReceiver(mAttachReceiver, attachFilter);
IntentFilter detachFilter = new IntentFilter();
detachFilter.addAction(ACTION_USB_PERMISSION);
detachFilter.addAction(UsbManager.ACTION_USB_ACCESSORY_ATTACHED);
registerReceiver(mDetachedReceiver, detachFilter);
レシーバーは次のようになります(簡潔にするために省略しましたが、有効なレシーバーです)...
private final BroadcastReceiver mAttachReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
logMsg("ACTION = " + action);
... }
}
そして、私のマニフェストには次のエントリが含まれています:
<uses-feature android:name="android.hardware.usb.host" />
足りないものはありますか?ACCESSORY の代わりに ACTION_USB_DEVICE_ATTACHED を試しましたが、異なる結果が得られるようには見えません。また、接続するとアプリ内のデバイスと通信できるため、認識され、接続されたデバイス (NFC カードリーダー) からメッセージを送受信する後続のコードが期待どおりに機能します。継続的に失敗する唯一のものは、最初のケーブル接続の通知です。
ティア