如何检测我的设备正在运行的open open版本?所有我发现的是android说所有设备2.3+都支持openGL 2.0.Witch不是真的,因为我发现设备已经升级到2.3版,但是系统不支持它.
glGetString(GL_VERSION)
有关详细信息,请访问:http://www.khronos.org/opengles/documentation/opengles1_0/html/glGetString.html
从Android CTS(兼容性测试套件)OpenGlEsVersionTest.java:
private static int getVersionFromPackageManager(Context context) {
PackageManager packageManager = context.getPackageManager();
FeatureInfo[] featureInfos = packageManager.getSystemAvailableFeatures();
if (featureInfos != null && featureInfos.length > 0) {
for (FeatureInfo featureInfo : featureInfos) {
// Null feature name means this feature is the open gl es version feature.
if (featureInfo.name == null) {
if (featureInfo.reqGlEsVersion != FeatureInfo.GL_ES_VERSION_UNDEFINED) {
return getMajorVersion(featureInfo.reqGlEsVersion);
} else {
return 1; // Lack of property means OpenGL ES version 1
}
}
}
}
return 1;
}
/** @see FeatureInfo#getGlEsVersion() */
private static int getMajorVersion(int glEsVersion) {
return ((glEsVersion & 0xffff0000) >> 16);
}
Run Code Online (Sandbox Code Playgroud)
它实际上也提供了一些其他方法,测试验证它们都返回相同的结果.
| 归档时间: |
|
| 查看次数: |
5207 次 |
| 最近记录: |