大変にお世話になっております。
現在、au の HUAWEI P20 lite 端末においてアプリを作成しております。
諸事情によりeclipseでの開発となります。
直面している問題は、アプリ上で写真を撮影した後、SDカードにファイルを保存する際に、保存が行えない現象の発生です。
パスはauの公式サイトでSDカードの調べており、試しにファイルを作成するだけのプログラムを作ってみたのですが、結果は同じでした。
Manifest.xmlには以下のパーミッションは追加してあります。
java
1<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
テストファイルを出力するコードです。
java
1private testFileWrite(){ 2 String sd = "/storage/emulated/1"; 3 try { 4 String test = sd + "/test.dat"; 5 FileWriter bw = new FileWriter (test, true); 6 bw.write("test"); 7 bw.close(); 8 } catch (IOException e) { 9 // FileNotFoundException 10 } 11}
エラー内容からファイルが存在しないからかと思い、SDカード直下に「test.dat」を置き、動作を確認してみたところ、結果は同じでした。
ネット上で解決を求めて情報を探していると、システムファイルからマウントされているSDカードパスを取得する方法があることがわかり、そちらも試して満たした。
探し当てたシステムファイルのパス
①/system/etc/vold.fstab
②/etc/vold.fstab
の両方共が開く際にFileNotFoundでした。
java
1Scanner scanner = null; 2try { 3 // システム設定ファイルにアクセス 4 File vold_fstab = new File("/system/etc/vold.fstab"); 5 scanner = new Scanner(new FileInputStream(vold_fstab)); // ここでエラーに飛びます。 6 …… 7} catch (FileNotFoundException e) { 8 throw new RuntimeException(e); 9} finally { 10 if (scanner != null) { 11 scanner.close(); 12 } 13}
SDカードにファイルを保存するため、まずはパスを取得してと言うところで躓いてしまい、先に進めずにいます。
どなたかご教授願えませんでしょうか?
宜しくお願い申し上げます。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/07 01:43
2018/10/09 14:39
2018/10/11 07:37
2018/10/17 23:40