Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Can';t打开API21-Kotlin画廊中的图像_Android_Kotlin - Fatal编程技术网

Android Can';t打开API21-Kotlin画廊中的图像

Android Can';t打开API21-Kotlin画廊中的图像,android,kotlin,Android,Kotlin,我有一个应用程序,在应用程序中显示Firebase存储中的图像。我已经实现了,当你点击图像时,它应该在图库中打开,这样用户就可以进行缩放 它在API 28 Emulator上运行良好,但在API21上运行时,出现以下错误: No Activity found to handle Intent { act=android.intent.action.VIEW ********* 这方面的代码是: photo2.setOnClickListener { val intent =

我有一个应用程序,在应用程序中显示Firebase存储中的图像。我已经实现了,当你点击图像时,它应该在图库中打开,这样用户就可以进行缩放

它在API 28 Emulator上运行良好,但在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)

    }

API21是否不能处理这种类型的意图动作?

API21可以处理这种类型的意图动作

也许您的设备上没有任何应用程序可以使用
image/*
类型打开intent?尝试
intent.resolveActivity()
检测是否有任何应用程序能够处理intent

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");
}

文档:

模拟器上确实安装了Gallery。尝试您的建议时,应用程序不会崩溃,但也不会在Gallery中打开图像。什么也没有发生。当
intent.resolveActivity
返回
null
时,表示设备上没有能够处理此类意图的应用程序/活动。尝试安装另一个gallery应用程序。您还可以添加
else
分支并为用户显示弹出窗口/土司,让用户知道存在一些问题。