如何以编程方式检查图像(PNG,JPEG)在Android中是否已损坏或不受支持?

时间:2019-05-05 08:22:28

标签: android bitmap

我试图在imageview中加载图像,但是对于某些图像,当我尝试从图像路径获取位图时,我的应用程序崩溃了。

这是我的代码:

public Bitmap getBitmap(String imagePath){
    Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
    return bitmap;
}

日志:

   Process: kgs.com.librarytest2, PID: 17587
   java.lang.NoClassDefFoundError: Failed resolution of: 
   Ljavax/imageio/ImageIO;
   at it.lamba.utils.KImageCheck.analyzeImage(KImageCheck.kt:26)
   at it.lamba.utils.KImageCheck.getImageData(KImageCheck.kt:53)
   at com.kitegamesstudio.kgspicker.ui.PickerFragment.handleSelection(PickerFragment.kt:524)at com.kitegamesstudio.kgspicker.ui.PickerFragment$getPagerAdapter$selectionDe legate$1.onItemSelected(PickerFragment.kt:494) at com.kitegamesstudio.kgspicker.ui.PagerFragment$selectionDelegate$1.onItemS lected(PagerFragment.kt:35) at com.kitegamesstudio.kgspicker.ui.RecyclerViewAdapter$ImageItemVieHolder$bi d$$inlined$with$lambda$1.onClick(RecyclerViewAdapter.kt:125) at android.view.View.performClick(View.java:6392)

1 个答案:

答案 0 :(得分:0)

请注意,您的代码(一种getBitmap()方法)与您的堆栈跟踪无关,后者不涉及此方法。

您似乎正在使用this library。它设计用于在台式机或服务器上与Java SE一起使用。它使用的是javax.imageio.ImageIO,它不是Android SDK的一部分。您将需要从项目中删除该库。