問題タブ [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.
android - DocumentFile が存在することを確認する
DocumentFile を使用してファイルのメタデータと存在を確認します。これは次のようにインスタンス化されます。
アプリがどのように反応するかを確認するためにファイルシステムでファイルを手動で意図的に削除するまで、ファイルへの uri は以前は機能していました。これで、このスタック トレースがアプリに表示されます。
アプリをクラッシュさせることはありません。DocumentFile を使用しようとするたびに、このスタック トレースが生成されるだけです。したがって、最悪の場合、これは単に logcat の刺激になります。
FileNotFoundException
を使用してこれを回避することを期待し.exists()
ます。そこにないファイルを操作しないように、存在するかどうかを確認しています。
この場合に推奨される使用する別の機能はありますか?
android - Android - DocumentFile クラスを使用したファイル操作には、MediaScanner へのアラートが必要ですか?
これのソースコードをたどって投稿を惜しまないようにしましたが、そこで迷子になりました..
Java File クラスを使用してメディア ファイルを削除または作成した昔は、OS に通知して、メディア データベースに含めるか、メディア データベースから削除する必要がありました。
ここで、DocumetFile クラスをいくつかの目的で使用する必要があります...このクラスは、メソッドdelete()
とcreateFile(String mimeType, String name)
.
を使用してOSに再度通知する必要がありますか
新しいファイルと
ファイルの削除または DocumentFile クラスはそれ自体で行いますか?
私が尋ねている理由は、 createFile() メソッドが入力として mimeType を必要とするためです。mimeType を使用して Media データベースに通知すると思われます。
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?
android - SAF (Storage Access Framework) を使用した Android SD カードの書き込み許可
SDカード(Android 5以降)にファイルを書き込む(および名前を変更する)方法について多くの発見があった後、Androidが提供する新しいSAFは、SDカードファイルを書き込むためにユーザーから許可を得る必要があると思います.
このファイル マネージャー アプリケーションES ファイル エクスプローラーで、最初は次のように読み取りと書き込みのアクセス許可を取得することを確認しました。
SD カードを選択すると、書き込み権限が付与されます。
同じように SAF を使用しようとしましたが、ファイルの名前を変更できませんでした。私のコード:
コードを実行した後でも、EAaccess のアクセス許可が拒否されます。
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 がないようです (?)。
これは、ファイルを選択するために使用するコードです。
そして、私が応答を処理する方法:
私のエラーはどこですか?申し訳ありませんが、私は新しくアンドロイドになりました!
android - ContentResolver には、ファイルの作成直後のクエリで作成されたばかりのイメージが含まれていません。
このコードを使用して、画像をコピーしていますdocumentFile.createFile()
これはContentResolver
、画像を作成した後にクエリを実行して、新しく作成された画像の情報を含むクエリの結果で画像ギャラリーをすぐに更新する方法です。
しかし、即時クエリでは、新しく作成されたイメージが見つかりませんでした。しばらくしてからクエリを再度実行すると、新しく作成された画像が結果に表示されます。
新しく作成されたイメージの情報を提供するのに時間がかかるようですContentResolver
(ContentResolver が担当している場合)。これは、即時クエリを実行している間、バックグラウンドで実行されるためです。
新しく作成されたイメージがいつ登録されるかを知る方法またはリスナーはありますContentResolver
か?
java - Android DocumentFile の無効な URI
DocumentFile を使用して、Android 5.1 携帯電話の外部ストレージ デバイス内のファイルを一覧表示しようとしています。
このコードは正常に動作しますが、このようにしたいです。
しかし、私は次のような例外を受け取ります:
java - Java の File と DocumentFile の違い
Java Androidの ajava.util.File
と aの正確な違いは何ですか?android.support.v4.provider.DocumentFile