Android 6.0.1、API 23、SAF(ストレージアクセスフレームワーク)はUSBスティックをどのように認識しますか?
すべての一致するドキュメントプロバイダ(USBスティックを含む)を表示するSAFピッカーで、Android携帯に接続されたUSBスティックを表示するにはどうすればよいですか?さらに、USBポータブルストレージにファイルとフォルダを作成するためにSAFを設定する方法は? SAF-documentationから
は、私が試した:
public void performFileSearch() {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
// in my case, showing only text-files is enough, therefore I guess the type is as follows:
intent.setType("text/plain");
startActivityForResult(intent, READ_REQUEST_CODE);
}
しかし、USBポータブル・ストレージは、ピッカーの選択肢の一部ではありません...
は、私が何をしないのですか?必要な手順を示すサンプルプロジェクトはありますか?
@CommonsWare:ここで希望のスクリーンショット:
"私は何が欠けていますか?" - あなたは 'ACTION_OPEN_DOCUMENT' UIであなたが見ているものを示すスクリーンショットがありません。 "必要な手順を示すサンプルプロジェクトはありますか?" - [このサンプルアプリケーション](https://github.com/commonsguy/cw-omnibus/tree/master/Documents/TinyTextEditor)は、Nexus 5XでUSB-OTGドライブを使用してファイルを作成または開く際に正常に動作します。それはあなたが持っているものと同じコードを使用します。 – CommonsWare
ありがとうございます - あなたのプロジェクトを見ていきます(難しい、難しい...)。今のところ、私はAndroidでSAFの世界を初めて知っているので、実際のサンプルプロジェクトはありません。私にとって最も混乱しているのは、私のアプリケーションがUSBドライブにアクセスする方法です。 SAF-DocumentProviderを提供する2番目のアプリケーションが必要ですか、それとも私のアプリケーションでも可能ですか?私が欠けているのは、私のアプリケーションが接続されているUSBドライブをどのように認識するかということです。パーミッションとSAF-メソッドに関しては、何が必要ですか? – iKK
「私にとって最も混乱しているのは、私のアプリケーションがUSBドライブにアクセスする方法ですか? - あなたは 'ContentResolver'、' DocumentFile'などで使用する 'onActivityResult()'に 'Uri'を返します。" SAF-DocumentProviderを提供する2番目のアプリケーションが必要か、私のアプリケーションがそれを行うことができますか?そしてもしそうなら、正確にどのように? - それはデバイスによって提供されます。あなたのデバイスがそれをやっていない場合、あなたのデバイスメーカーまたはカスタムROMの開発者が何かをねじ込みました。もう一度、コードは正常です。このため、あなたが見ているもののスクリーンショットを投稿することをお勧めします。 – CommonsWare