如何以编程方式检测IllegalArgumentException等错误:没有配置匹配configSpec?

时间:2012-04-08 12:44:05

标签: android error-handling opengl-es-2.0

我故意在模拟器上运行OpenGL ES 2.0应用程序。虽然我知道这应该是失败的(而且确实如此),但我想学习如何以编程方式捕获错误。

我正在使用HelloOpenGLES20教程代码,所以我认为我不需要在此重新发布它。我使用的是Android 4.0.3(第15版)代码库。

换句话说,如何使我的应用程序更强大,足够强大以捕获此错误? (例如,假设我疯狂到想要提供OpenGL 2.0和1.0支持,并且如果我无法运行2.0则回退到1.0代码 - 请不要告诉我检查API版本,因为这不会解决如何检测此特定错误的问题)

谢谢大家

1 个答案:

答案 0 :(得分:0)

一般情况下,我建议不要检测错误。而最佳做法是测试您要使用的特定功能阻止错误。

在这种特殊情况下,请检查系统是否支持OpenGL ES 2.0:

ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);    ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();    
boolean supportsEs2 = configurationInfo.reqGlEsVersion >= 0x20000;