libgdx - 确定正在运行的平台

时间:2014-07-28 14:13:56

标签: java android reflection libgdx cross-platform

我有一个核心项目,转换为5个不同的平台。我需要根据正在运行的平台更改一些参数。例如,如果它是android我需要将ip更改为模拟器localhost 10.0.0.2以及更多。

我尝试使用以下答案In Java, is it possible to know whether a class has already been loaded?

来确定这一点

但是调用任何(甚至不存在的)类返回true。

2 个答案:

答案 0 :(得分:11)

Application.getType()方法返回应用当前正在运行的平台:

switch (Gdx.app.getType()) {
    case ApplicationType.Android:
        // android specific code
        break;
    case ApplicationType.Desktop:
        // desktop specific code
        break;
    case ApplicationType.WebGl:
        // HTML5 specific code
        break;
    case ApplicationType.iOS:
        //iOS specific code
        break;
     case ApplicationType.HeadlessDesktop:
        //Headless desktop specific code
        break;
     case ApplicationType.Applet:
        //Applet specific code
        break;
    default:
        // Other platforms specific code
}

在Android上,还可以查询应用程序当前运行的Android版本:

int androidVersion = Gdx.app.getVersion();

以下是Application#ApplicationType Enum

上的official docs

答案 1 :(得分:1)

您可以使用

Application#getType()

它将返回以下输出之一:Android,Applet,Desktop,iOS或WebGL。