実現したいこと
android でJAVAを使って開発しています。
今までは問題なくファイル書き込みが動作していたのですが OSが13だと動作しないので
ファイル書き込みができるようにしたい
発生している問題・エラーメッセージ
JAVAでログファイルを出力するところでエラー発生します
ファイルの場所は /storage/emulated/0/app/patoview2021D/log/err_2023_03_13.txt になります
FileOutputStream fos = new FileOutputStream(fname, true); でエラーになります
エラー内容は
java.io.FileNotFoundException: /storage/emulated/0/app/log/err_2023_03_13.txt: open failed: EPERM (Operation not permitted)
該当のソースコード
JAVA
1try{ 2 mPath = Environment.getExternalStorageDirectory() + "/app/log/"; 3 SimpleDateFormat DF = new SimpleDateFormat("yyyy_MM_dd"); 4 String fname = mPath + "err_" + DF.format(date1) + ".txt"; 5 6 FileOutputStream fos = new FileOutputStream(fname, true); 7 OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8"); 8 BufferedWriter bw = new BufferedWriter(osw); 9 10 DF = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS"); 11 String s1 = DF.format(new Date()) + " " + inClass + ":" + inFunc + " " + inMsg; 12 bw.write(s1 + "\r\n"); 13 bw.flush(); 14 bw.close(); 15} catch (Exception e) { 16 e.printStackTrace(); 17} 18
試したこと
ネットで調べるとOS13からは権限が厳しくなるみたいで
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
パーミッションを追加しろと書いてあったが変わらずです。
いろいろと検索してみたのですが分かりませんでした。
分かる方がいれば教えてください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。