как мы можем программно получить информацию об оборудовании устройства Android?

Поскольку я ссылаюсь на старый пост, т.е. Android: программно получить информацию об оборудовании, но не найти любой соответствующий ответ, а также попытался найти решение в Google, но все напрасно. Пожалуйста, помогите мне идти вперед

введите здесь описание изображения


person Rajat kumar    schedule 06.07.2015    source источник
comment
Конечно, я знаю об этом, но на этот пост нет соответствующего ответа. Даже я уже упоминал там .. Вы должны проверить это - @Bxtr   -  person Rajat kumar    schedule 06.07.2015
comment
Если кто-то найдет ответ, его следует добавить к старому вопросу — не нужно задавать дубликат.   -  person Petr Viktorin    schedule 06.07.2015
comment
@petr Viktorin - спасибо за ваше любезное предложение.   -  person Rajat kumar    schedule 06.07.2015


Ответы (3)


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

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;
}

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

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

person JBA    schedule 06.07.2015

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

чтобы записать эту информацию в тост (например), вы можете использовать:

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

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

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

person Ahmad Sanie    schedule 06.07.2015

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

Подробности о том, как их читать, можно найти здесь: Любой способ запускать команды оболочки на Android программно?

person davidgiga1993    schedule 06.07.2015