我有一个带缩略图的应用程序,当用户触摸拇指时,我想全屏打开完整的图像。我尝试在默认的图库应用中打开图像,但它不适用于所有设备。
以下是片段:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url_of_the_remote_image_here));
intent.setType("image/jpg");
startActivity(intent);
在运行4.1的Nexus S上,我得到:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW typ=image/jpg }
我尝试了几段代码,很多人都在浏览器中打开图片。因为所有Android设备都有默认图库,所以不应该使用它来打开远程图像吗?
答案 0 :(得分:0)
您永远不应该假设有处理互联网的活动,因此始终将startActivity()
包裹在try/catch
中。我使用了正确的mime类型image/jpeg
,但实际上我会用更通用的image/*
替换它。
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url_of_the_remote_image_here));
intent.setType("image/*");
try {
startActivity(intent);
} catch( Exception e ) {
e.printStatckTrace();
}
答案 1 :(得分:0)
This可能有你的答案。提问的人能够在浏览器中显示它。然后使用Intent链接到解决方案。