私が取り組んでいるアプリケーションは、USB 接続を介してデバイスに正常に接続します。
さらに、 USB デフォルト接続を保存する次のスレッドでも指摘されているように、さまざまな起動からのデバイスを記憶するようになりました。
ただし、これにより、USB デバイスが接続されているときに常にアクティビティを起動するという望ましくない影響が残ります。アプリケーションを起動しない限り、デフォルトを思い出すことができませんでした。接続時にアプリケーションを起動することは、望ましい効果ではありません。以下の小さなコード サンプルは、将来の接続用にメモリに保存されている既定の USB 接続を一目で確認できるようにするための現在のマニフェストです。アプリケーションを起動せずに、このデフォルトの保存を行うことはできますか?
<activity
android:name="com.MainScreen"
android:theme="@style/Theme.Default"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/device_filter" />
</activity>
起動不可能なインテントとして指定するインテント フィルターに追加できるカテゴリのタイプがあるのではないかと考えていました。活動中に聞いていたが、活動によって処理されたもの。しかし、これまでのところ、私はこれを見つけていません。
アップデート:
マニフェスト内のサービスまたはレシーバー内で USB デバイス接続の意図を宣言することも、接続情報を保存しようとする試みです。ただし、アクティビティ内のインテントのみが接続状態を記憶するため、後で特定の時点で再接続されたときにユーザーに尋ねる必要はありません。接続時にアプリケーションを起動することと組み合わせて、状態を保存するためだけに設計されているように見えます。少し奇妙ですが、USB 接続デバイスのデフォルト接続を記憶することと組み合わせて起動しない場合の回避策はありません。