Android Can';t打开API21-Kotlin画廊中的图像
我有一个应用程序,在应用程序中显示Firebase存储中的图像。我已经实现了,当你点击图像时,它应该在图库中打开,这样用户就可以进行缩放 它在API 28 Emulator上运行良好,但在API21上运行时,出现以下错误: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 =
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
分支并为用户显示弹出窗口/土司,让用户知道存在一些问题。