Необходимо создать файл в папке, выбранной пользователем. Для этого я хочу использовать intent, ACTION_CREATE_DOCUMENT.
Файл, создается, но без содержимого.
Вызов намерения:
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TITLE, "test.txt");
startActivityForResult(intent, CHOOSE_DIR_CODE);
Обработка:
switch (requestCode)
{
case CHOOSE_DIR_CODE:
if (resultCode == RESULT_OK && data != null)
{
try
{
FileOutputStream fos = new FileOutputStream("test.txt");//getContentResolver().openOutputStream(data.getData());
fos.write("Test".getBytes());
fos.close();
Toast.makeText(this, "Saved", Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e)
{
e.printStackTrace();
Toast.makeText(this, "WRONG 1", Toast.LENGTH_LONG).show();
} catch (IOException e)
{
Toast.makeText(this, "WRONG 2", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
break;
}
Но вылетает FileNotFoundException. В документации про него написано следующее:
If the file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason then a FileNotFoundException is thrown.
Как можно определить конкретный из предложенных случаев?