Как вы определяете пользовательское имя устройства в android?

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

Если это помогает или болит, мне это нужно в BroadcastReceiver

Спасибо

Ответы

Ответ 2

BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
String deviceName = myDevice.getName();

возвращает Galaxy S5.

String deviceName = android.os.Build.MODEL;
returns SM-G900H.

После некоторого исследования я нашел имя device_name в /data/data/com.android.providers.settings/databases/settings.db

поэтому, чтобы получить его с помощью команды оболочки

[email protected]:/ $ settings get system device_name
settings get system device_name
Milky Way

с помощью java

String deviceName = Settings.System.getString(getContentResolver(), "device_name");
returns Milky Way

Проект POC github https://github.com/kakopappa/getdevcicename

подробное объяснение: http://androidbridge.blogspot.com/2016/09/how-to-get-android-device-name-settings.html

Ответ 3

Это работало для меня по API 25:

Settings.Secure.getString(getContentResolver(), "bluetooth_name");

Здесь, как его найти... (просто замените имя своего устройства)

$ adb shell
$ settings list system | grep "<device_name>"
$ settings list secure | grep "<device_name>"

Ответ 4

Использование:

String deviceName = android.os.Build.MODEL;

Ответ 5

Следующие работы для меня

String deviceName = Settings.Global.getString(.getContentResolver(), Settings.Global.DEVICE_NAME);

Ответ 6

Таким образом, не существует единого согласованного способа получения пользовательского имени устройства.

Однако существует множество утилит, которые вы можете использовать для разных моделей и производителей:

  1. Settings.System.getString(getContentResolver(), "bluetooth_name"); (документы)
  2. Settings.Secure.getString(getContentResolver(), "bluetooth_name"); (документы)
  3. BluetoothAdapter.getDefaultAdapter().getName(); (документы)
  4. Settings.System.getString(getContentResolver(), "device_name"); (документы)
  5. Settings.Secure.getString(getContentResolver(), "lock_screen_owner_info"); (документы)

1, 2 и 3 кажутся самыми надежными на устройствах, которые тестировал мой коллега. Вот его полный анализ:

user device name table of results

Источник: https://medium.com/@pribble88/how-to-get-an-android-device-nickname-4b4700b3068c