レベルには存在しません。要素のペアを指定します。ファイルを指定します。属性を次のリストに示します。デバイスやデジタルカメラなど)をフィルタする場合はクラス、サブクラス、プロトコルを使用します。した属性を一切指定しないこともできるほか、すべてを指定することもできます。デバイスに一致するため、この方法はアプリで必要がある場合にのみ使用してください。ディレクトリに保存します。要素で指定した名前と同じにする必要があります。ファイルの形式は、下記の例をご参照ください。ファイルの例を次に示します。デバイスがすべてフィルタされるように指定する必要があります。システムは、アプリがその接続されたデバイスと関連しているかどうかを判断できます。関連している場合、デベロッパーは必要に応じてそのデバイスとの通信を設定できます。そのためには、アプリで次の処理を行う必要があります。デバイスを検出します。デバイスへの接続を許可するようユーザーに求めます(まだ許可を取得していない場合)。デバイスと通信します。デバイスを検出できます。フィルタを使用すると便利です。デバイスを列挙すると便利です。インテントをフィルタできます。ファイルを指定する必要があります。フィルタに一致すると、システムによって、アプリを起動するかどうかを尋ねるダイアログが表示されます。ユーザーが同意すると、デバイスの接続が解除されるまでの間、アプリにデバイスへのアクセス許可が自動的に付与されます。フィルタを宣言する方法の例を次に示します。ファイルを宣言する方法の例を次に示します。次のようにしてインテントから取得できます。デバイスをすべて検出する必要がある場合は、バス上のデバイスを列挙することができます。デバイスのハッシュマップを取得します。デバイス名がキーに使われています。処理することもできます。デバイスと通信する前に、アプリがユーザーから権限を取得する必要があります。デバイスを接続時に検出する場合、ユーザーがアプリにインテントの処理を許可すれば、アプリは自動的に権限を獲得します。ない場合は、デバイスに接続する前に、アプリ内で明示的に権限をリクエストする必要があります。台と通信する場合などです。デバイスと通信する前に、デバイスへのアクセス権限があるかを確認する必要があります。レシーバを作成します。呼び出し時にブロードキャストを取得するインテントをリッスンします。呼び出すと、デバイスへの接続の権限を求めるダイアログがユーザーに表示されます。レシーバの作成方法を次のサンプルコードに示します。メソッド内に以下を追加します。メソッドを呼び出します。エクストラを含んだインテントを受信します。デバイスとの通信は、同期または非同期のいずれかになります。スレッドをブロックしないよう、すべてのデータ転送を実行する新しいスレッドを作成する必要があります。使用してリクエストを送信する必要があります。通常、コードは次のようになります。ID、デバイスクラスなど)を確認して、そのデバイスと通信する必要があるかどうかを判断します。以上のエンドポイントを持つことができ、通常はデバイスとの双方向通信を行うための入出力エンドポイントを持ちます。メソッドで提供します。スレッドのブロックを回避するために、この手順は別のスレッドで実行する必要があります。スレッドの使用について詳しくは、プロセスとスレッドについての説明をご覧ください。スニペットで示します。スレッドとは別のスレッドで実行する必要があります。使用して結果を待ちます。サンプルをご覧ください。レシーバを作成します。レシーバを作成することにより、アプリが実行中にのみ接続解除のイベントを処理できるようになります。することで、接続解除のイベントはすべてのアプリにはブロードキャストされず、現在実行中のアプリにのみ送信されます。