有没有办法以通用的方式知道文件是否是受支持的图像类型?当然,我可以查看文件名扩展名并将其与一组已知的字符串进行比较,但是有更“一般”的“android”方法吗?
实际上,我想知道我是否可以解码并显示图像。
答案 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
}
它不漂亮但它有效。