問題タブ [storage-access-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
6934 参照

android - DocumentFile から通常のファイルを取得することは可能ですか?

Android の場合、次のコードは、ディレクトリに対応する DocumentFile の作成に使用できる Uri を返します。

ライブラリの多くのメソッドではパラメーターが java.io.File である必要があるため、DocumentFile から java.io.File を取得できるかどうか疑問に思っています。

例として、返されるドキュメント ツリー Uri の treeUri は次のとおりです。

以下は、ADM に表示されるディレクトリです。 ここに画像の説明を入力

0 投票する
1 に答える
673 参照

android - フォルダ パスをコンテンツ URI に変換する方法は?

File 変数がありますが、これは実際にはフォルダー パスです。そのウリを取得したい。私が使用する場合

「file:///mnt/sdcard」のようなものが表示されます。私が取得したいのは、「content://com.externalstorage/」のようなコンテンツ スキーム Uri で、これを DocumentFile で使用できるようにします。

0 投票する
1 に答える
1578 参照

android - Storage Access Framework を使用した ACTION_OPEN_DOCUMENT が重複した結果を返す

Storage Access Framework を使用して画像を選択し、サーバーにアップロードしようとしています。
私が遭遇している問題は、ファイルを選択した後に重複を含む結果が得られることです。
フォルダには 279 枚の写真があります。
ACTION_OPEN_DOCUMENT279 の結果を返しますが、それらのいくつかは重複しているため、275 の一意の結果が得られることもあれば、268 の結果が得られることもあります。重複はランダムに表示されるため、特定のファイルではありません。

コードは次のとおりです。

}

アクティビティの完全なコードはこちら: https://github.com/Leonti/android-saf-duplicates/blob/master/app/src/main/java/com/example/leonti/googledriveduplicatesdebugging/MainActivity.java

問題を再現できる Android アプリのサンプルは次のとおり です。合計数と一意のエントリ数。

写真を Google Drive から選択するか、Photos から選択するかは関係ありません。ほとんどの場合、結果が重複します。

何が問題なのかわかりません。Androidエミュレーターで同じコードを実行しました(別のアカウントを使用し、このGoogleドライブフォルダーを共有しました)、期待どおりに機能しています-すべての結果は一意です.

Nexus 5X で Android 7.0 を実行しています

助けてくれてありがとう!

0 投票する
0 に答える
131 参照

android - Java.io.File を KitKat 以降の Android FileSystem に保存する

FLIR カメラから電話の SD カードに熱画像を保存するアプリに取り組んでいます。私は Android Marshmallow を使用しており、FLIR SDK を使用する必要があります。

FLIR SDK にはクラス「フレーム」があります。このクラスには、熱画像を保存するために Java.io.File を必要とするメソッド「Frame.save」があります。これはドキュメントからのものです。

レンダリングされたビジュアル プレビューと埋め込まれたサーマル データを含むサーマル JPEG ファイルを保存します。

私が正しく理解している場合、KitKat 以降では Storage Access Framework を使用する必要があります。だから私はそれを使いました。Intent を送信し、SD カードの選択したフォルダーに Uri を返します。今、トリッキーな部分に。この関数はファイルを作成し、「Frame.save」メソッドの準備が整った Java.io.File を返す必要があります。

関数が返すファイルは読み取り可能または書き込み可能ではありません...それ以外の場合は、ファイルを直接作成しようとすると、次のようになります。

次に、システムは常にこのエミュレートされたフォルダーを提供します。

問題は、パブリック ストレージ スペースに保存されている使用可能な Java ファイルを取得する方法です。お時間をいただきありがとうございます。

0 投票する
1 に答える
1224 参照

android - Storage Access Framework 経由で OTG ファイルを取得する方法

そのため、接続された USB OTG ドライブから非常に特定のファイルを読み取りたいと考えています。これは、USB スティックに保存する必要があるテキスト ファイルであり、特定の名前を持つそのファイルを読み取る必要がありますmyFile.txt。この種のユーザー入力の取得が愚かでユーザーフレンドリーではないことは理解していますが、それを実装するように言われています。

しかし、私の問題は、USB ドライブのマウント ポイントが多数あることです。私の電話では です/storage/USBStorage1が、友人の場合は/storage/[HEX_ID]です。私はそれらすべてを取得しようとしましたが、それは不可能です。/mnt/media_rw/[HEX_ID]ルートアクセスが必要なNexus携帯電話にマウントします。

少し検索してSAFを見つけましたが、それを使用してユーザーが直接選択せずにファイルを開く方法については何も見つかりませんでした。ピッカーを表示したくありません。存在するかどうかを確認したいだけ[USB_OTG_PATH]/myFile.txtで、存在する場合は読みたいです。

余談ですが、フォルダーを読み取るにはルートアクセスが必要ですか/mnt(を除くmedia_rw)?

0 投票する
0 に答える
162 参照

android - Storage Access Framework (Android Lollipop API 21) でサポートされているファイルの切り捨て操作はありますか?

リムーバブル SD カードのファイルを切り詰める必要があります。ストレージ アクセス フレームワーク (SAF) の制限により、ファイルに対してtruncate(someSize)を直接呼び出すことができず、使用を余儀なくされました。

その結果、例外があります。

ファイル記述子をrwモードで開いた場合、上記のチャネルが書き込み可能でないのはなぜですか? Lollipop! の SAF でファイルを切り詰める別の方法はありますか?