Как написать файл с помощью Intent.ACTION_CREATE_DOCUMENTAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как написать файл с помощью Intent.ACTION_CREATE_DOCUMENT

Сообщение Anonymous »

Проще говоря, я хочу преобразовать группу просмотра в файл изображения jpg. Поскольку Environment.getExternalStorageDirectory устарел, я использую это намерение Intent.ACTION_CREATE_DOCUMENT

private void createFile(String mimeType, String fileName) {
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType(mimeType);
intent.putExtra(Intent.EXTRA_TITLE, fileName);
startActivityForResult(intent, WRITE_REQUEST_CODE);
}


В onActivityResult(); я получаю Uri, возвращаемый результатом.
Моя проблема в том, что с getExternalStorage()< /code> Я бы использовал

Bitmap bitmap = Bitmap.createBitmap(
containerLayout.getWidth(),
containerLayout.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
containerLayout.draw(canvas);
FileOutputStream fileOutupStream = null;

try {
fileOutupStream = new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fileOutupStream);
fileOutupStream.flush();
fileOutupStream.close();
Toast.makeText(this, "saved " + fileName, Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(this, "something went wrong" + e.getMessage(), Toast.LENGTH_SHORT).show();
e.printStackTrace();
}


Теперь я получаю Uri, возвращаемый результатом, но не знаю, как записать желаемое растровое изображение в этот Uri

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (resultCode == RESULT_OK && requestCode == WRITE_REQUEST_CODE) {
Uri resultUri = data.getData();
//need help

}
}


Подробнее здесь: https://stackoverflow.com/questions/581 ... e-document
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»