要素のペアを指定します。ファイルを指定します。次の属性を指定できます。ディレクトリに保存します。要素で指定した名前と同じにする必要があります。ファイルの形式については、下記の例もご覧ください。ファイルの例を次に示します。保存し、対応するモデル、メーカー、およびバージョンのアクセサリがすべてフィルタされるように指定する必要があります。搭載デバイスに次の属性を送信します。システムは、アプリがその接続されたアクセサリと関連しているかどうかを判断できます。関連している場合、デベロッパーは必要に応じてそのアクセサリとの通信を設定できます。そのためには、アプリで次の処理を行う必要があります。フィルタを使用するか、接続済みのアクセサリを列挙して必要なアクセサリを見つけることによって、接続されたアクセサリを検出します。アクセサリと通信する許可をユーザーに求めます(まだ取得していない場合)。適切なインターフェースのエンドポイントでデータの読み取りと書き込みを行うことによって、アクセサリと通信します。フィルタを使用してユーザーがアクセサリを接続したときに通知されるようにするか、すでに接続されているアクセサリを列挙することによって、アクセサリを検出できます。フィルタを使用すると便利です。接続済みのすべてのアクセサリの一覧の取得が必要な場合や、アプリでインテントのフィルタをしなかった場合は、接続されているアクセサリを列挙すると便利です。インテントをフィルタできます。ファイルを指定する必要があります。フィルタを宣言する方法の例を次に示します。ファイルを宣言する方法を次の例に示します。ライブラリを使用して)インテントから取得できます。使用する場合は次のようになります。(UsbAccessory)intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);アクセサリを列挙するアプリが実行している間、アプリはシステムが識別済みのアクセサリを列挙できます。アクセサリの配列を取得します。つの接続済みアクセサリのみがサポートされています。アクセサリと通信する前に、アプリがユーザーから権限を取得する必要があります。フィルタを使用してアクセサリを接続時に検出する場合、ユーザーがアプリにインテントの処理を許可すれば、アプリは自動的に権限を獲得します。ない場合は、アクセサリに接続する前に、アプリ内で明示的に権限をリクエストする必要があります。台と通信する場合などです。アクセサリと通信する前に、アクセサリへのアクセス権限があるかを確認する必要があります。レシーバを作成します。呼び出し時にブロードキャストを取得するインテントをリッスンします。呼び出すと、アクセサリへの接続の権限を求めるダイアログがユーザーに表示されます。レシーバの作成方法を次のサンプルコードに示します。メソッド内に以下を追加します。メソッドを呼び出します。エクストラを含んだインテントを受信します。使用してファイル記述子を取得することでアクセサリと通信できます。ファイル記述子には、記述子に対するデータの読み取りや書き込みを行う入出力ストリームを設定できます。エンドポイントを表します。スレッドをブロックしないよう、デバイスとアクセサリとの間の通信は別のスレッドに設定する必要があります。通信するアクセサリを開く方法を次の例に示します。オブジェクトを使用することで、アクセサリへの読み取りや書き込みが可能です。パケットのデータを保存できる十分な容量があることを確認します。バッファをサポートしているため、常にこのサイズでバッファを宣言すると処理を簡略化できます。つの論理パケットにバンドルします。スレッドの使用について詳しくは、プロセスとスレッドについての説明をご覧ください。呼び出すことで、開いたファイル記述子を閉じます。レシーバを作成します。レシーバを作成することにより、アプリが実行中にのみ接続解除のイベントを処理できるようになります。することで、接続解除のイベントはすべてのアプリにはブロードキャストされず、現在実行中のアプリにのみ送信されます。ライセンスに記載のライセンスに従います。関連会社の商標または登録商標です。