外部SDカードにファイルを書き込んでいるうちに、EACCESS権限が拒否されました。私は許可を設定しました <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
しかし、私がファイルを読むと、私はそれを読むことに成功しましたが、ファイルを書き込めませんでした。私はSDカード内のファイルを書き込むために使用していたコードは次のとおりです。EACCESS Androidでの権限が拒否されました
String path="mnt/extsd/Test";
try{
File myFile = new File(path, "Hello.txt"); //device.txt
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
myOutWriter.append(txtData.getText());
myOutWriter.close();
fOut.close();
Toast.makeText(getBaseContext(),"Done writing SD "+myFile.getPath(),Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(),Toast.LENGTH_SHORT).show();
System.out.println("Hello"+e.getMessage());
}
}
外部ストレージカードのパスはmnt/extsd/
です。私がmnt/sdcard
のパスを与えているEnvironment.getExternalStorageDirectory().getAbsolutePath()
を使用することができず、このパスは私のタブレットの内部ストレージパス用です。これを解決する方法を教えてください
ok ...これは他の書き込み方法ですか? – CodingDecoding
あなたのタブレットにrootでアクセスできますか?それでもあなたがこのようなテストを行うかもしれません:1)あなたのアプリにWRITE_MEDIA_STORAGEパーミッションを使用させてからそれを再構築させてください。 2)あなたのアプリが既にインストールされている場合はそれをアンインストールし、次に "adb root"、 "adb remount"、 "adb push YouApp.apk /system/app/YouApp.apk"を実行する。 3)あなたのアプリを起動し、テストコードが機能しているかどうかをチェックする。はいの場合は、プラットフォーム証明書でアプリに署名するか、システムアプリにする以外の方法はありません。あるいは、他の誰かが良いアイデアを持っているかどうかを待つことができます。 –
情報ありがとうございます。それは本当に助けてくれました:) – CodingDecoding