[英]View image in ACTION_VIEW intent?
我想在图像查看器意图中显示我从下一个下载的png或jpg,但无法使其工作。
Bitmap bmp = getImageBitmap(jpg);
String path = getFilesDir().getAbsolutePath() + "/test.png";
File file = new File(path);
FileOutputStream fos = new FileOutputStream(file);
bmp.compress( CompressFormat.PNG, 100, fos );
fos.close();
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(path)), "image/png");
startActivity(intent);
我知道位图已下载好了(使用相同的例程为我的应用程序中的其他地方提供我的ImageView实例) - 我认为它写入文件确定,我可以在磁盘上看到它并且文件大小正确。 意图启动但抛出异常:
ERROR / ImageManager(1345):异常解码位图java.lang.NullPointerException
然后新活动就在那里,空白。 这是如何运作的?
查看Android问题2092,它听起来与您所描述的相似。 该问题指出,“Bitmap.compress()对于索引颜色模式(而不是RGB颜色模式)中保存的PNG文件失败”,但第一位评论者认为,“它看起来不是索引颜色问题而是PNG问题。 “
看起来您的代码很好,将其与此Android代码段进行比较:
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File("/sdcard/test.mp4");
intent.setDataAndType(Uri.fromFile(file), "video/*");
startActivity(intent);
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File("/sdcard/test.mp3");
intent.setDataAndType(Uri.fromFile(file), "audio/*");
startActivity(intent);
另一个问题可能是文件的权限。 通常,您的/ data / data / [app] /目录不是全局可读的,并且由您的应用程序“app_XX”用户/组拥有。 确保您的权限是正确的,或确保文件位于两个应用程序都可以读取的位置(emms或SD卡)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.