libgdx - 确定正在运行的平台

ser*_*erj 3 java reflection android cross-platform libgdx

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

我尝试使用以下答案确定这一点在Java中,是否可以知道某个类是否已经加载?

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

Nan*_*tey 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
}
Run Code Online (Sandbox Code Playgroud)

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

int androidVersion = Gdx.app.getVersion();
Run Code Online (Sandbox Code Playgroud)

以下是Application#ApplicationType Enum上的官方文档