2015-07-06 6 views
2

Как я уже упоминал старое сообщение i.e. Android: Get Hardware Information Programmatically, но не нашел ответа, а также попытался найти решение в google, но все напрасно. Пожалуйста, помогите мне идти впередКак мы можем программно получить информацию о оборудовании Android-устройства?

enter image description here

+0

Offcourse Я знаю об этом, но нет relavant ответа на этот пост. Даже я уже упоминал там .. Вы должны проверить это - @Bxtr –

+2

Если кто-то находит ответ, его следует добавить к старому вопросу - не нужно спрашивать дубликат. –

+0

@petr Viktorin - спасибо за ваше предложение. –

ответ

2

Использование Build класса вы можете получить всю эту информацию.

записать эти данные в Toast (для примера), вы можете использовать:

Toast.makeText(getApplicationContext(), ""+Build.HARDWARE+Build.DEVICE+Build.MANUFACTURER+ "etc..", Toast.LENGTH_SHORT).show(); 

для получения дополнительной информации о классе сборки проверить ссылку выше.

надеюсь, что это поможет.

1

Вы можете прочитать, например, /proc/meminfo и /proc/cpuinfo. Они не требуют доступа root и содержат информацию о памяти/процессоре.

Подробная информация о том, как читать их можно найти здесь: Any way to run shell commands on android programmatically?

3

Я недавно установки такие вещи ... После регистрации, телефон отправляет на веб-сервиса (с Модернизированный) все полезные параметры Harware/программного обеспечения I может найти ... Вот соответствующая часть кода я использовал:

boolean isRooted = findBinary("su"); 
PackageInfo pInfo; 
String version = "unknown"; 
try { 
    pInfo = getPackageManager().getPackageInfo(getPackageName(), 0); 
    version = pInfo.versionName; 
} catch (NameNotFoundException e) { 
    e.printStackTrace(); 
} 

myService.sendPhoneDetails(
    android.os.Build.VERSION.SDK_INT, 
    android.os.Build.VERSION.RELEASE, 
    android.os.Build.BRAND, 
    android.os.Build.MANUFACTURER, 
    android.os.Build.MODEL, 
    android.os.Build.SERIAL, 
    isRooted, 
    version, 
    new Callback<Model>() { 
     @Override 
      public void success(Model model, Response response) { 
       // .... 
      } 
     @Override 
      public void failure(RetrofitError error) { 
       // .... 
      } 
     } 
    ); 

private static boolean findBinary(String binaryName) { 
    boolean found = false; 
    if (!found) { 
     String[] places = { "/sbin/", "/system/bin/", "/system/xbin/", 
       "/data/local/xbin/", "/data/local/bin/", 
       "/system/sd/xbin/", "/system/bin/failsafe/", "/data/local/" }; 
     for (String where : places) { 
      if (new File(where + binaryName).exists()) { 
       found = true; 

       break; 
      } 
     } 
    } 
    return found; 
} 

Заметим, что все телефоны не дают доступ к той же информации, как номер телефона, редко доступный, но те из них выглядят довольно общий.

Надеется, что это может помочь ...

Смежные вопросы