Я не уверен, что вы хотите сделать ... если каталог не доступен для записи, он не доступен для записи. Выдайте ошибку для пользователя, сообщающего ему, что его SDCard требуется разрешение на запись (возможно, с инструкциями по исправлению).
В нескольких приложениях у меня есть код, похожий на этот, чтобы убедиться, что есть SDCard ... не должно быть сложно изменить его, чтобы убедиться, что он также доступен для записи:
// make sure we have a mounted SDCard
if (!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
// they don't have an SDCard, give them an error message and quit
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(R.string.welcome_dialog_sdcard_error)
.setCancelable(false)
.setPositiveButton(R.string.welcome_dialog_sdcard_ok, new DialogInterface.OnClickListener() {
public void onClick(final DialogInterface dialog, final int id) {
finish();
}
});
final AlertDialog alert = builder.create();
alert.show();
} else {
// there's an SDCard available, continue
}