有一种通用的方法来知道文件是否是受支持的图像类型?

时间:2011-06-25 13:00:24

标签: android image

有没有办法以通用的方式知道文件是否是受支持的图像类型?当然,我可以查看文件名扩展名并将其与一组已知的字符串进行比较,但是有更“一般”的“android”方法吗?

实际上,我想知道我是否可以解码并显示图像。

2 个答案:

答案 0 :(得分:1)

实际上有更好的方法(尽管仍使用BitmapFactory)。您可以使用相同的工厂但不读取位图本身(当然要快得多)。有一个decodeFile版本,它有Options参数,您可以指定它只应该读取位图大小(和课程类型)而不是位图本身:

String filePath;// assign the file to the path
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
Bitmap img = BitmapFactory.decodeFile(filePath, options);
if (img == null) {
  // invalid image file
}
else {
  // valid image file
}

答案 1 :(得分:0)

最简单(也是最可靠)的方法是尝试打开并decode将其作为Bitmap - 例如:

String filePath;// assign the file to the path
Bitmap img = BitmapFactory.decodeFile(filePath);
if (img == null) {
  // invalid image file
}
else {
  // valid image file
}

它不漂亮但它有效。