我更新targetversion从28到33,我需要使用图片选择器,当Build.VERSION.SDK_INT高于S_V2时,使用action MediaStore.ACTION_PICK_IMAGES,否则使用Intent.ACTION_PICK。我把它提取到一个工具中。但当我在项目的其他地方使用它时。有时它是工作的,但有时我会得到一个异常。
android.content.ActivityNotFoundException:未找到可处理Intent { act=android.provider.action.PICK_IMAGES cat=[android.intent.category.DEFAULT] dat=content://media/...类型=图像/* }
我不明白为什么,我该怎么办?这是我的代码:
Intent intent = new Intent();
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.S_V2){
intent.setAction(MediaStore.ACTION_PICK_IMAGES);
} else {
intent.setAction(Intent.ACTION_PICK);
}
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
activity.startActivityForResult(intent, requestCode);
1条答案
按热度按时间rslzwgfq1#
把你的代码放到一个
try-catch
块中,如下所示:如果这不起作用,请尝试使用下面的
Intent
代码,