Не удается открыть изображение в галерее на API21 - Kotlin - PullRequest
0 голосов
/ 26 апреля 2020

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

Он отлично работает на эмуляторе API 28, но при запуске на API21 я получаю следующую ошибку:

No Activity found to handle Intent { act=android.intent.action.VIEW *********

код этого кода:

photo2.setOnClickListener {

        val intent = Intent()
        intent.setAction(Intent.ACTION_VIEW)
        intent.setDataAndType(Uri.parse(uri2.toString()),"image/*")
        startActivity(intent)

    }

Is API21 не может обработать этот тип намеренного действия?

1 Ответ

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

API 21 может справиться с этим типом намеренного действия.

Может быть, у вас нет приложения для открытия намерения с типом image/* на вашем устройстве? Попробуйте intent.resolveActivity() определить, есть ли у вас приложение, способное обрабатывать намерения.

if (intent.resolveActivity(getPackageManager()) != null) {
    startActivity(intent);
} else {
    //there is no activity for image/* intent
    //show popup?
    Log.w("PHOTO", "No activity to handle image/* intent");
}

Документы: https://developer.android.com/reference/android/content/Intent#resolveActivity (android .content.pm.PackageManager)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...