Intent it=getIntent();
String str_name=it.getStringExtra("it_name");
File fileRoute = null;
fileRoute = Environment.getExternalStorageDirectory();
지금외부 저장소 경로가 저렇게 되어있는데 어느 기기에서는 저장이 안된다고 합니다.
찾아보았떠니
API Level 7 이하는
getExternalStorageDirectory()
API Level 8 이상은
getExternalFilesDir()
이렇게 쓴다고 하더라구요
그래서 레벨 구분하는 코드를 찾아보니
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
// Android OS Version 4.1 이상에서 동작할 내용
} else {
// Android OS Version 4.1 미만의 OS에서 동작할 내용
}
이렇게 하면 된다고 해서 JELLY_BEAN 부분을 API 레벨인 FROYO로 바꾼다음
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) {
fileRoute = Environment.getExternalStorageDirectory();
} else {
fileRoute = Environment.getExternalFilesDir();
}
이렇게 경로 구분을 해주려고 했습니다.
그런데
else {
fileRoute = Environment.getExternalFilesDir();
}
저 부분에서 에러가 나거든요 에러메세지는
The method getExternalFilesDir() is undefined for the type Environment
이렇게 나옵니다.
Environment 에서는 정의되는 않는 메소드라는거 같은데 그럼 어떻게 해줘야 하는거죠?
혹시
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
이거때문에 그런가요? 지금 설정이 이렇습니다.