【前提・実現したいこと】
SDカード(外部ストレージ)のフォルダ内にあるファイルに書き込みを行いたいのです。
【発生している問題・エラーメッセージ】
ファイルに書き込みを行う処理で catch (FileNotFoundException e)でエラーを拾われて、書き込みができません。
言語:Java
try {
File fStatusFile = new File(sLicenseStatusFile);
fOutStream = new FileOutputStream(fStatusFile, false);
fOutStream.write(sLicenseStatus.getBytes());
} catch (FileNotFoundException e) {
ShowMsgDialog("書き込みができません" + sLicenseStatusFile);
return false;
}
【試したこと】
Android6.0以降からpermissionがAndroidManifestだけではだめなものがあると
知ったので実際に、プログラムコードの中でストレージの読み書き権限の確認と
許可を得る作業を実装しました。
また、端末の「設定」→「アプリ」から該当するアプリを選択して権限を確認しました。
結果は、
「SDカードのコンテンツの変更または削除」
「SDカードコンテンツの読み取り」
が許可されていました。
【Runtime Permission部分】
書き込みの処理の前に呼び出しています。
言語:Java
private static final int REQUEST_EXTERNAL_STORAGE_CODE = 0x01;
private static String[] mPermissions = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
};
private static void verifyStoragePermissions(Activity activity) {
int readPermission = ContextCompat.checkSelfPermission(activity, mPermissions[0]);
int writePermission = ContextCompat.checkSelfPermission(activity, mPermissions[1]);
if (writePermission != PackageManager.PERMISSION_GRANTED ||
readPermission != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(
activity,
mPermissions,
REQUEST_EXTERNAL_STORAGE_CODE
);
}
}
【補足情報】
Android Studio2.3.3
SDKのAPIは25
OSのAndroidバージョンは7.1 です。
過去の同じような事例を参考に試してみましたが上手くいきません。
ファイルを書き込むためのルートパスも間違っていない上に、
権限が許可となっているのに書き込みができないとはどういうことでしょうか?
よろしくお願いいたしま す。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- Windows 10 Chrome OS Flexのインストールメディアが作成できないです... 1 2022/07/20 20:47
- その他(AV機器・カメラ) GoPro動画をPC版Quikで再生できない 1 2022/05/14 21:04
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- USBメモリー・SDカード・フラッシュメモリー 書き込み禁止を解除しフォーマットしたいが… 2 2023/04/14 19:07
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
jwsファイルが開けない!
-
csvファイルを開かずに文字を検...
-
CSVファイルへの保存の際、デー...
-
String Table リソースを条件に...
-
C#で、フォームのタイトル名を...
-
iniファイルに追記がしたいです。
-
バッチで118項目のCSVを処理し...
-
Excel マクロ VBA 特定の文字列...
-
iniファイルをexeファイルと同...
-
テキストファイルの最終行を削...
-
フレームワークについて
-
XMLファイルの表示について
-
ASP .NETでファイル選択ダイア...
-
エクセルVBA Dir途中で止まる
-
fopenできる上限の変更
-
UNICODE文字が書き込めるWritep...
-
「VBS」の「MsgBox」につ...
-
画像読み込み時のOutOfMemory
-
インクルードファイルとインラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
csvファイルを開かずに文字を検...
-
ファイル名の先頭にアンダース...
-
CSVファイルへの保存の際、デー...
-
ファイルを記録してあるセクタ...
-
テキストファイルの最終行を削...
-
SGファイルって何ですか?
-
ドラッグアンドドロップでファ...
-
分割コンパイルの#defineについて
-
VBに、Cのincludeのようなもの...
-
fopenできる上限の変更
-
グローバル変数のよくない使い...
-
ファイルの結合
-
大きいサイズのテキストファイ...
-
iniファイルに追記がしたいです。
-
バッチで118項目のCSVを処理し...
-
ハッシュの計算時間について
-
C言語のfopenについて教えてく...
-
Javascript で INI の読み書き
-
Excelマクロでの再読込み方法
おすすめ情報