私はAndroid2.2でAndroidアプリを作成しました。ファイルをSDカードに保存するために、次を使用します。
context.getExternalFilesDir(null).getAbsolutePath();
次のような文字列を返します。
/mnt/sdcard/Android/data/com.hello.example1/files
アプリをAndroid2.1と互換性を持たせる必要がありますが、外部ファイルディレクトリを取得するにはどのような方法を使用する必要がありますか?
public static String sTellMeWhereToSaveMyData(Context context)
{
String packageName = context.getPackageName();
File externalPath = Environment.getExternalStorageDirectory();
File appFiles = new File(externalPath.getAbsolutePath() + "/Android/data/" + packageName+ "/");
if (appFiles.exists() && appFiles.isDirectory())
{
return appFiles.getAbsolutePath();
}
else
{
if(appFiles.exists())
{
Log.v("File Manager","not exists");
}
if (!appFiles.mkdir())
{
Log.v("File Manager","Could not create");
}
}
return appFiles.getAbsolutePath();
}