2013-05-23 24 views

Odpowiedz

5

Zastosowanie:

String deviceName = android.os.Build.MODEL; 
+1

Dzięki artykuły, ale to tylko daje mi nazwę telefonu (SAMSUNG-SGH-I337), a nie nazwę ustawiłem w Ustawienia-> o urządzeniu-> Nazwa urządzenia. –

+0

Dotychczas próbowałem: System.getProperty ("net.hostname"); i android.os.Build.MODEL; –

+0

Nie należy oczekiwać od firmy Samsung przestrzegania tych samych standardów, które zostały określone przez Google. Możliwe, że mogą robić rzeczy po swojemu. – Siddharth

26

To dało mi to, co było potrzebne ... http://cmanios.wordpress.com/2012/05/09/bluetooth-adapter-device-name-and-mac-address-in-android/

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

Pamiętaj, aby dodać

<uses-permission android:name="android.permission.BLUETOOTH"/> 

aby Twój manifest

+0

Możesz zaakceptować własną odpowiedź. Jako że byłoby odgadnąć, że mówisz o Bluetoothu z twojego pytania, dodałem tag i wspomniałem o tytule. –

+1

W ustawieniach nie mówi nic o niebieskim zębie na żadnym z urządzeń, z którymi pracowałem. Udałem się na próbę i błąd, dopóki go nie znalazłem. –

+1

W porządku, cofnąłem moją edycję. Ale twoje rozwiązanie ujawnia problem jako taki, który nie ma ogólnego rozwiązania - na wielu urządzeniach to, co próbujesz zrobić, jest po prostu niemożliwe, ponieważ nie ma sposobu, aby użytkownik nazwał urządzenie. –

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

zwraca Galaxy S5.

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

Po niektórych badań znalazłem DEVICE_NAME w /data/data/com.android.providers.settings/databases/settings.db

tak, aby to za pomocą polecenia powłoki

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

używając Java

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

projekt POC github https://github.com/kakopappa/getdevcicename

szczegółowe wyjaśnienie: http://androidbridge.blogspot.com/2016/09/how-to-get-android-device-name-settings.html

+0

to było zwracanie wartości zerowej :( –

3

Ten pracował dla mnie na 25 API:

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

Oto jak go znaleźć ... (wystarczy wymienić nazwę urządzenia)

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

W mojej wersji ADB (1.0.36) w macOS, polecenie ustawień nie ma opcji 'list', tylko' get' i 'put' '. – jk7

+0

Korekta: Polecenie powłoki' settings' na moim taniej LG tracfone nie ma opcji 'list'. – jk7

Powiązane problemy