Я пытаюсь получить имя пользователя, определенное пользователем в настройках. Я пробовал несколько вариантов и пока ничего.
Если это помогает или болит, мне это нужно в BroadcastReceiver
Спасибо
Я пытаюсь получить имя пользователя, определенное пользователем в настройках. Я пробовал несколько вариантов и пока ничего.
Если это помогает или болит, мне это нужно в BroadcastReceiver
Спасибо
Это достало мне то, что мне было нужно... http://cmanios.wordpress.com/2012/05/09/bluetooth-adapter-device-name-and-mac-address-in-android/
BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();
String deviceName = myDevice.getName();
Убедитесь, что вы добавили
<uses-permission android:name="android.permission.BLUETOOTH"/>
к вашему манифесту
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
Это работало для меня по API 25:
Settings.Secure.getString(getContentResolver(), "bluetooth_name");
Здесь, как его найти... (просто замените имя своего устройства)
$ adb shell
$ settings list system | grep "<device_name>"
$ settings list secure | grep "<device_name>"
Использование:
String deviceName = android.os.Build.MODEL;
Следующие работы для меня
String deviceName = Settings.Global.getString(.getContentResolver(), Settings.Global.DEVICE_NAME);
Таким образом, не существует единого согласованного способа получения пользовательского имени устройства.
Однако существует множество утилит, которые вы можете использовать для разных моделей и производителей:
Settings.System.getString(getContentResolver(), "bluetooth_name");
(документы)Settings.Secure.getString(getContentResolver(), "bluetooth_name");
(документы)BluetoothAdapter.getDefaultAdapter().getName();
(документы)Settings.System.getString(getContentResolver(), "device_name");
(документы)Settings.Secure.getString(getContentResolver(), "lock_screen_owner_info");
(документы)1, 2 и 3 кажутся самыми надежными на устройствах, которые тестировал мой коллега. Вот его полный анализ:
Источник: https://medium.com/@pribble88/how-to-get-an-android-device-nickname-4b4700b3068c