Android - как открыть изображение в галерее с возможностью удаления - PullRequest
1 голос
/ 16 апреля 2020

Я использую следующий код для открытия изображения в галерее:

public void onItemClicked(PictureItem item){
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);

    Uri imageUri = FileProvider.getUriForFile(getApplicationContext(), "myapp.fileprovider", new File(item.uri.getPath()));

    intent.setDataAndType(imageUri, "image/*");
    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    startActivity(intent);
}

Это показывает мою фотографию в галерее, но в режиме «только для чтения». Я хочу иметь возможность удалить изображение оттуда, как будто я открыл его прямо в галерее.

Какое действие я должен использовать для этого? Я не хочу использовать выбор, просто обычный вид с возможностью удаления. Я попробовал ACTION_EDIT, но он не поддерживается (и не совсем правильный выбор ...).

1 Ответ

1 голос
/ 16 апреля 2020

Я использую следующий код для открытия изображения в галерее

Во-первых, существуют сотни, если не тысячи, приложений "галереи", доступных для Android.

Во-вторых, ваш код просто просит просмотреть изображение (с пробелом Intent из-за типа MIME с подстановочными знаками). Приложение, которое отвечает как приложение "галереи", не требуется.

Я хочу иметь возможность удалить изображение оттуда, как если бы я открывал его непосредственно в галерее.

Затем реализуйте это самостоятельно в своем приложении и избавьтесь от ACTION_VIEW Intent.

Какое действие я должен использовать для этого?

Не существует действия Intent, которое говорит: «Пожалуйста, покажите это изображение, но только если вы приложение галереи, и, о, кстати, вы должны предложить опцию удаления», которая кажется, что вы хотите.

...