タイトルが酷く矛盾しててすいませんが事実です。
私のアプリにはアプリで得たデータをCSVファイルとして書き出す機能がついています。
単純にCSVをストレージに保存する、というものでしたが以前は普通に動作していました。
ですが、最近その仕様を変更しようと思って動作を確認したところ機能しなくなっていました。
原因は書き込み権限が無いという事でした。
ですが、画像のようにストレージの書き込み権限は取得しています。
コードはこのように記述しており権限はあるのに弾かれます。
java
1 public void checkPermission() { 2 // 許可 3 if (ActivityCompat.checkSelfPermission(this, 4 Manifest.permission.WRITE_EXTERNAL_STORAGE) == 5 PackageManager.PERMISSION_GRANTED){ 6 7 setUpWriteExternalStorage(); 8 } 9 // 拒否 10 else{ 11 requestLocationPermission(); 12 } 13 } 14
無理やり書き込もうとしてもやはり権限が無くてクラッシュします。
log
1E/error: error=java.io.FileNotFoundException: /storage/emulated/0/20210206104933.csv (Permission denied)
これはどういう事なのでしょうか?
CSV出力機能以外の部分のアップデートはしていますが、この部分は触れていなかった為どのアップデートが引きがねになったのか全くわかりません。
原因がわかる方いたらご教授ください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。