안녕하세요.
현재 sd카드에 텍스트 파일을 저장하려고 합니다.
이전 버전에서는 문제없이 잘 됐었는데요, 마시멜로에선 권한을 앱 별로 따로 설정해야되더군요.
기종은 노트5, OS는 안드로이드 6.0.1 마시멜로입니다.
저장하는 코드는 아래와 같습니다.
public void saveToFile(String filename, String body)
{
FileOutputStream fos = null;
try
{
final File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Documents/");
if(!dir.exists())
{
if(!dir.mkdir()){
Log.e("ALERT", "could not create the directories");
}
}
final File myFile = new File(dir, filename + ".txt");
if(!myFile.exists()){
myFile.createNewFile();
}
fos = new FileOutputStream(myFile);
fos.write(body.getBytes());
fos.close();
Log.e("SAVE","+++++++++++FILE SAVE DONE++++++++++");
}catch(IOException e)
{
e.printStackTrace();
}
}
나타나는 현상으로는 예외는 발생하지 않는데 지정된 위치에 파일 저장이 안되더군요.
해당 앱에 대해서 설정 들어가서 읽기, 쓰기 권한을 모두 허용한 상태입니다. 그래서 처음에는 읽기조차 안되다가 지금은 쓰기만 안되는 상황이네요.
혹시 솔루션을 아시는분 답변주시면 감사하겠습니다.