問題タブ [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 投票する
1 に答える
28010 参照

android - SAF (Storage Access Framework) を使用した Android SD カードの書き込み許可

SDカード(Android 5以降)にファイルを書き込む(および名前を変更する)方法について多くの発見があった後、Androidが提供する新しいSAFは、SDカードファイルを書き込むためにユーザーから許可を得る必要があると思います.

このファイル マネージャー アプリケーションES ファイル エクスプローラーで、最初は次のように読み取りと書き込みのアクセス許可を取得することを確認しました。

ここに画像の説明を入力

写真2

SD カードを選択すると、書き込み権限が付与されます。

同じように SAF を使用しようとしましたが、ファイルの名前を変更できませんでした。私のコード:

コードを実行した後でも、EAaccess のアクセス許可が拒否されます。

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

android - ファイル PATH を TreeUri (ストレージ アクセス フレームワーク) に変換する

イメージ ギャラリーのアプリケーションでは、メディア コンテンツ プロバイダーのイメージを使用して、リサイクラー ビューを膨らませます。画像を長押しすると、その画像ファイルの名前を変更するオプションをユーザーに提供します。したがって、リサイクラー ビューの各画像の完全なファイル パス (例:- /storage/sdcard1/DCIM/100ANDRO/ak.jpg ) があります。次に、そのファイルの名前を変更したいと思います。

ここでの問題は、提供されるファイル パスが外部 SD カードのパスであるため、Android 5 以降の場合、ファイルを書き込むために SAF (Storage Access Framework) が必要になることです。

したがって、一般的に、SAF を使用してファイルの名前を変更するには、次のコードを使用します。

ただし、それは TreeUri がわかっている場合です。ここで私の場合、ファイルパスを知っているので、それを TreeUri に変換したいと考えています。

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

android - SAF で Google ドライブにアクセスしたときにコンテンツを更新する方法

次のコードを使用して、アプリ内で Google ドライブから PDF ファイルにアクセスしようとしています。

これは、Google のドキュメントから直接取得したものです。ファイルピッカーを表示させることができます。ただし、2 つの問題があります。

  1. ファイル ピッカーの内容を更新する方法はありません。
  2. Google ドライブ アカウントに新しく追加されたファイルは、実際の G​​oogle ドライブ アプリに移動して更新を実行するまで表示されません。

私の実装に何か欠けているものがあるのではないかと思っています。私はウェブを検索しようとしましたが、驚くべきことに関連するものは何も見つかりませんでした. さらに驚くべきことに、Gmail アプリでも同じ問題が発生しました。

前もって感謝します。

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

android - 外部ドライブの Android SAF フレームワークによって返されたストリームへのランダム アクセスを取得する方法は?

拡張ドライブ (または USB ドライブ) に大きなファイルがあり、そこから直接開くことができますが、約 1GB であるため、BufferedStream を使用できません。SAF (Android Storage Access Framework) によって返されるこのストリームへのランダム アクセスを取得することは可能ですか? ストリームの途中にいくつかのバイトを書きたいことに注意してください。

私はすでに次のように書いています。

Android API レベル 21 (Lollipop) を使用しています

0 投票する
2 に答える
290 参照

android - FileOutputStream 例外 EACCES 権限が拒否されました

フォーラムで多くの解決策を試しましたが、うまくいかないようです。携帯電話で PDF を作成する必要があります (Environment.getExternalStorageState() +File.separator +"Try" +File.separator +"FirstPdf.pdf";) が、例外があります。マニフェストでverifyStoragePermissions(this)andを使用します。 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

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

java - AndroidでURIをビットマップに変換できません

その中でOCRを実行できるように、Googleドキュメントをビットマップに変換しようとしています。ただし、エラーが発生しています:

E/BitmapFactory: ストリームをデコードできません: java.io.FileNotFoundException: /document/acc=4;doc=14882: オープンに失敗しました: ENOENT (そのようなファイルまたはディレクトリはありません)

E/ReadFile: ビットマップは非 null でなければなりません

E/CropTest: ビットマップの読み取りに失敗しました

コード:

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

android - Storage Access Framework で開いたドキュメントを [最近] に表示するにはどうすればよいですか?

createChooser()と呼びますACTION_GET_CONTENT。このドキュメントを SAF セレクターの [最近] リストに表示するにはどうすればよいですか? ドキュメントでは、ドキュメントを作成するコンテキストでの最近のリストについてのみ言及しています。自分のアプリで開いた (別のアプリで作成した) ファイルをここに表示したい。

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

android - Storage Access Framework で許可を与えた後、SD カードにアクセスできません

ストレージ アクセス フレームワークを使用して、アプリ内で SD カード アクセスを提供しようとしています。

これは、ユーザーが SD カード ディレクトリを選択できるようにするインテントを呼び出す方法です。

そして、これは私が意図の結果を管理して権限を設定する方法です:

しかし、まだSDカードにファイルを保存できません。

treeUri私のデバイスの値は次のとおりです。

content://com.android.externalstorage.documents/tree/6921-B9FD%3A

ここで見逃したのは、システムがまだユーザーに sd カードへのアクセスを許可していないことです (単純なファイルを sd カードに保存する)。