java - libgdx - 确定哪个平台正在运行

标签 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。

最佳答案

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();

这是 official docs在 Application#ApplicationType 枚举上

关于java - libgdx - 确定哪个平台正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24997223/

相关文章:

android - 从 RenderScript 全局获取值返回到 Java

c# - 查找方法的实例

java - 使用 jacorb 编译 Java 11

java - 部分响应的 HTTP 状态代码应该是什么?

c# - 性能回归测试的最佳工具是什么

java - 如何在 java 中使用由 openssl 生成的 .key 和 .crt 文件?

android - 低音增强在 Android 中不起作用

android - Android 键盘上的 DONE 键

c# - 使用反射的 == 运算符

java - ReflectionUtil getField 抛出 NullPointerException