問題タブ [documentfile]

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 に答える
1264 参照

android - DocumentFile が存在することを確認する

DocumentFile を使用してファイルのメタデータと存在を確認します。これは次のようにインスタンス化されます。

アプリがどのように反応するかを確認するためにファイルシステムでファイルを手動で意図的に削除するまで、ファイルへの uri は以​​前は機能していました。これで、このスタック トレースがアプリに表示されます。

アプリをクラッシュさせることはありません。DocumentFile を使用しようとするたびに、このスタック トレースが生成されるだけです。したがって、最悪の場合、これは単に logcat の刺激になります。

FileNotFoundExceptionを使用してこれを回避することを期待し.exists()ます。そこにないファイルを操作しないように、存在するかどうかを確認しています。

この場合に推奨される使用する別の機能はありますか?

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

android - Android - DocumentFile クラスを使用したファイル操作には、MediaScanner へのアラートが必要ですか?

これのソースコードをたどって投稿を惜しまないようにしましたが、そこで迷子になりました..

Java File クラスを使用してメディア ファイルを削除または作成した昔は、OS に通知して、メディア データベースに含めるか、メディア データベースから削除する必要がありました。

ここで、DocumetFile クラスをいくつかの目的で使用する必要があります...このクラスは、メソッドdelete()createFile(String mimeType, String name).

を使用してOSに再度通知する必要がありますか

新しいファイルと

ファイルの削除または DocumentFile クラスはそれ自体で行いますか?

私が尋ねている理由は、 createFile() メソッドが入力として mimeType を必要とするためです。mimeType を使用して Media データベースに通知すると思われます。

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

android - Android - get DocumentFile with write access for any file path on sd card (having allready gained sd card permission)

In my app I gain sd card write permission using the following intent. If the user selects the sd card folder from the system file explorer then I have sd card write access.

After that I am able to modify files in th sd card using the DocumentFile class. But I'm having problem getting a DocumentFile for a random file path.

both return a DocumentFile object that returns false on .canWrite(). Even though I allready have sd card permission.

So I wrote the method posted in the end of my question to get a DocumentFile that returns true on .canWrite(). But this is slow...And also feels very wrong! There has to be a better way to do this. I also wrote a method that returns the same string as

for any file, where docFile is the DocumentFile that is returned by the method below. But

returns a DocumentFile that points to the root of the sd card instead of the DocumentFile path. Which is just weird. Can someone suggest a more elegant solution?

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

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

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

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

ここに画像の説明を入力

写真2

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

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

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

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

android - AUDIO_OUTPUT_FLAG_FAST がクライアントによって拒否されました - Intent.ACTION_OPEN_DOCUMENT_TREE

mysdcard からファイルを選択したい (そして、サーバーにアップロードします)。この投稿を使用して、 Intent.ACTION_OPEN_DOCUMENT_TREE を使用してファイルを選択しようとしました:

Android 5.0 (Lollipop) 向けに提供された新しい SD カード アクセス API の使用方法

しかし、ファイルを選択しようとすると、これは Android スタジオから受け取るメッセージです。

1489-1563/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST がクライアントによって拒否されました

Web で検索しましたが、クリックしたアイテムに OnclickListener がないようです (?)。

これは、ファイルを選択するために使用するコードです。

そして、私が応答を処理する方法:

私のエラーはどこですか?申し訳ありませんが、私は新しくアンドロイドになりました!

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

android - ContentResolver には、ファイルの作成直後のクエリで作成されたばかりのイメージが含まれていません。

このコードを使用して、画像をコピーしていますdocumentFile.createFile()

これはContentResolver、画像を作成した後にクエリを実行して、新しく作成された画像の情報を含むクエリの結果で画像ギャラリーをすぐに更新する方法です。

しかし、即時クエリでは、新しく作成されたイメージが見つかりませんでした。しばらくしてからクエリを再度実行すると、新しく作成された画像が結果に表示されます。

新しく作成されたイメージの情報を提供するのに時間がかかるようですContentResolver(ContentResolver が担当している場合)。これは、即時クエリを実行している間、バックグラウンドで実行されるためです。

新しく作成されたイメージがいつ登録されるかを知る方法またはリスナーはありますContentResolverか?

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

java - Android DocumentFile の無効な URI

DocumentFile を使用して、Android 5.1 携帯電話の外部ストレージ デバイス内のファイルを一覧表示しようとしています。

このコードは正常に動作しますが、このようにしたいです。

しかし、私は次のような例外を受け取ります:

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

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

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

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

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

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

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

java - Java の File と DocumentFile の違い

Java Androidの ajava.util.Fileと aの正確な違いは何ですか?android.support.v4.provider.DocumentFile