unity3d 获取OpenGL版本号 android opengl3.0 返回值为30000
废话不多直接上代码
public static string GetOpenGL()
{
string version = "0";
#if (UNITY_ANDROID && !UNITY_EDITOR) || ANDROID_CODE_VIEW
try
{
using (AndroidJavaClass unityPlayer = AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
using (AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity"))
{
using (AndroidJavaObject curApplication = currentActivity.Call<AndroidJavaObject>("getApplication"))
{
using (AndroidJavaObject curSystemService = curApplication.Call<AndroidJavaObject>("getSystemService", "activity"))
{
using (AndroidJavaObject curConfigurationInfo = curSystemService.Call<AndroidJavaObject>("getDeviceConfigurationInfo"))
{
int reqGlEsVersion = curConfigurationInfo.Get<int>("reqGlEsVersion");
using (AndroidJavaClass curInteger = AndroidJavaClass("java.lang.Integer"))
{
version = curInteger.CallStatic<string>("toString",reqGlEsVersion,16);
}
}
}
}
}
}
}
catch (Exception e)
{
ILog.Warn(TAG + ", GetOpenGL, Exception: " + e.ToString());
}
#elif (UNITY_IOS && !UNITY_EDITOR) || IOS_CODE_VIEW
version = "-1";
#endif
return version;
}