【问题标题】:Android device information安卓设备信息
【发布时间】:2011-10-27 19:46:26
【问题描述】:

是否有用于以编程方式提取有关当前 Android 设备的信息的 API?例如,“模型”、“操作系统”等属性。

这类似于 iOS 的 UIDevice 类和实例属性。

【问题讨论】:

标签: android


【解决方案1】:

试试这个:

String _OSVERSION = System.getProperty("os.version");
String _RELEASE = android.os.Build.VERSION.RELEASE;
String _DEVICE = android.os.Build.DEVICE; 
String _MODEL = android.os.Build.MODEL; 
String _PRODUCT = android.os.Build.PRODUCT; 
String _BRAND = android.os.Build.BRAND; 
String _DISPLAY = android.os.Build.DISPLAY; 
String _CPU_ABI = android.os.Build.CPU_ABI; 
String _CPU_ABI2 = android.os.Build.CPU_ABI2; 
String _UNKNOWN = android.os.Build.UNKNOWN; 
String _HARDWARE = android.os.Build.HARDWARE;
String _ID = android.os.Build.ID; 
String _MANUFACTURER = android.os.Build.MANUFACTURER; 
String _SERIAL = android.os.Build.SERIAL; 
String _USER = android.os.Build.USER; 
String _HOST = android.os.Build.HOST;

更多信息http://developer.android.com/reference/android/os/Build.html

【讨论】:

  • System.getProperty("os.version") 返回 linux 版本而不是 android os 版本
  • 我把它误认为是安卓版本,所以其他人也可能如此。很抱歉没有用正确的方式。
  • 要获取 android SDK/API 编号,请使用android.os.Build.VERSION.SDK_INT
【解决方案2】:

您可以使用android.os.Build 类获取大部分设备信息。

例如:

String myDeviceModel = android.os.Build.MODEL;

【讨论】:

【解决方案3】:

试试这个家伙,我让你们都超级容易:

只需调用此方法:getDeviceSuperInfo();

private void getDeviceSuperInfo() {
    Log.i(TAG, "getDeviceSuperInfo");

    try {

        String s = "Debug-infos:";
        s += "\n OS Version: "      + System.getProperty("os.version")      + "(" + android.os.Build.VERSION.INCREMENTAL + ")";
        s += "\n OS API Level: "    + android.os.Build.VERSION.SDK_INT;
        s += "\n Device: "          + android.os.Build.DEVICE;
        s += "\n Model (and Product): " + android.os.Build.MODEL            + " ("+ android.os.Build.PRODUCT + ")";

        s += "\n RELEASE: "         + android.os.Build.VERSION.RELEASE;
        s += "\n BRAND: "           + android.os.Build.BRAND; 
        s += "\n DISPLAY: "         + android.os.Build.DISPLAY; 
        s += "\n CPU_ABI: "         + android.os.Build.CPU_ABI; 
        s += "\n CPU_ABI2: "        + android.os.Build.CPU_ABI2; 
        s += "\n UNKNOWN: "         + android.os.Build.UNKNOWN; 
        s += "\n HARDWARE: "        + android.os.Build.HARDWARE;
        s += "\n Build ID: "        + android.os.Build.ID; 
        s += "\n MANUFACTURER: "    + android.os.Build.MANUFACTURER; 
        s += "\n SERIAL: "          + android.os.Build.SERIAL; 
        s += "\n USER: "            + android.os.Build.USER; 
        s += "\n HOST: "            + android.os.Build.HOST;


        Log.i(TAG + " | Device Info > ", s);

    } catch (Exception e) {
        Log.e(TAG, "Error getting Device INFO");
    }

}//end getDeviceSuperInfo

【讨论】:

  • 这是一个完美的例子,说明在哪里使用 StringBuilder / StringBuffer :)
猜你喜欢
  • 2012-05-20
  • 1970-01-01
  • 1970-01-01
  • 2011-10-13
  • 1970-01-01
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多