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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (13)

我有一个应用程序可以在运行Fedora或Android的多个移动设备上运行。为了巩固我的代码库和分布,我想确定我在哪个操作系统上。我试过System.getProperty(“os.name”),但是这只是返回“Linux”。系统属性中是否有Android独有的东西?

提问于
用户回答回答于

我不知道Android,但是如果你没有找到一些独特的系统属性,你有时可以识别系统,如果某些特定的类存在那里。所以你可以做到以下几点:

boolean isAndroid() {
    try {
        Class.forName("the class name");
        return true;
    } catch(ClassNotFoundException e) {
        return false;
    }
}
用户回答回答于

有几个属性可以检查。候选人是:

  • java.vendor.url - > http://www.android.com
  • java.vm.name - > Dalvik(我不知道,Fedora正在使用哪一个...)
  • java.vm.vendor - > Android项目
  • java.vendor - > Android项目

也许你想自己检查一下:

 Properties p = System.getProperties();
    Enumeration keys = p.keys();
    while(keys.hasMoreElements()) {
    String key = (String) keys.nextElement();
    String value = (String) p.get(key);
    System.out.println(key + " >>>> " + value);
   }

扫码关注云+社区