2016-08-28 10 views
2

sdカードの内容を読み取ることはできますが、変更することはできません。 私はandroid:name="android.permission.WRITE_EXTERNAL_STORAGE" を追加しました。また、アプリでランタイムパーミッションも実装しています。ポータブルSDカードに書き込むことはできますか? (Android 6 marshmallow)

(私はMP3ファイルタグを編集するためにjudiotaggerを使用していますが、内部ストレージ内のファイルに問題はありませんが、SDカードのファイルを編集するとCannotWriteExceptionがスローされます:ファイル/ストレージ/ DED3-1EF9/Music /abc.mp3)

ほとんどすべての関連トピックを読みましたが、そのうちのどれも私を助けませんでした。

ps:私たちは私たちがsdカードのアプリケーション固有のディレクトリで行うことができます。

答えて

0

ポータブルマウントSDカードに書き込むことはできますか?

FileFileOutputStream、および関連するファイル固有のクラス。

ACTION_OPEN_DOCUMENTをAndroid 4.4以降で使用して、Storage Access Frameworkで作業するコンテンツを選択することができます。 Uriを使用して、InputStreamを取得し、後でOutputStreamを使用してコンテンツの読み取りと書き込みを行うことができます。

+0

ごめんなさい、もしかしたらあなたが答えることができるかもしれませんが、どうすればこのような基本的で義務的なAPIであっても、ユーザーがファイルを管理(削除、編集、作成) SDカードでは、デバイスのストレージ内のファイルを管理するのと同じくらい簡単な方法で、今まではAPI 19から24まで存在していません。それは開発者とAndroidユーザーとして私をイライラさせます。なぜ彼らはそのようなAPIを公開しないだろうか? –

+0

私はこのようなAPIとしてSAFをカウントしないことに注意してください。それは、通常のJavaファイルAPIと比較して単純ではなく、SDカード上の異なる場所にある多くのファイルに事前予約が必要な場合には、 ...本当にaction_open_document_treeがありますが、私はそれを動作させるように見えませんでした。それについてはほとんどドキュメントがありません...(あなたもこれで私を助けませんでした... https://stackoverflow.com/questions/35468298/can -an-app-get-a-permission-to-a-sub-from-saf-safe) –

+0

@OfekRon:なぜ彼らはそのようなAPIを公開しないでしょうか? - なぜ「Developer Xは何をするのですか?」と尋ねるスタックオーバーフローは生産的ではありません。決定的な回答を提供できるのはDeveloper Xだけであり、Developer Xはあなたの質問を見ることはほとんどありません。ストレージアクセスフレームワークの背後にあるキーは、単なるファイル(Googleドライブ/ Dropbox /他のクラウドプロバイダ、カスタム暗号化コンテナなど)以上のものをサポートしていることです。 – CommonsWare

関連する問題