首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何确定我的应用程序是否在Android上运行

如何确定我的应用程序是否在Android上运行
EN

Stack Overflow用户
提问于 2010-12-23 22:24:01
回答 4查看 8.9K关注 0票数 28

我有一个应用程序,可以在几个运行Fedora或Android的移动设备上运行。为了整合我的代码库和发行版,我想确定我使用的是哪种操作系统。我尝试过System.getProperty( "Linux“),但返回的结果是”Linux“。在系统属性中有没有Android独有的东西?谢谢

EN

回答 4

Stack Overflow用户

发布于 2010-12-23 22:33:02

我不知道Android,但如果你找不到一些独特的系统属性,你有时可以识别系统,如果那里存在某个特定的类。因此,您可以执行以下操作:

代码语言:javascript
复制
boolean isAndroid() {
    try {
        Class.forName("the class name");
        return true;
    } catch(ClassNotFoundException e) {
        return false;
    }
}
票数 7
EN

Stack Overflow用户

发布于 2011-07-29 20:31:23

以下是我使用此页面中的信息编写的一些代码,以防您想要复制-粘贴:

代码语言:javascript
复制
private static YLogger ylogger;
public static YLogger getLogger() {
    if (ylogger == null){
        // need to find a new logger. Let's check if we have Android running
        if (System.getProperty("java.vm.name").equalsIgnoreCase("Dalvik")){
            ylogger = new AndroidLogger();
            ylogger.d("YLoggerFactory", "Instantiating Android-based logger");
        } else {
            // fallback option, system logger.
            ylogger = new SystemLogger();   
            ylogger.d("YLoggerFactory", "Instantiating System-based logger");
        }
    }
    return ylogger;
}
票数 3
EN

Stack Overflow用户

发布于 2018-08-14 12:40:45

已定义的系统属性列表如下:https://developer.android.com/reference/java/lang/System#getProperties()

我正在使用

代码语言:javascript
复制
boolean android = "The Android Project".equals(System.getProperty("java.specification.vendor"));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4519556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档