Ottieni il nome del dispositivo Android

Come ottenere il nome del dispositivo Android? Sto usando il desiderio di HTC. Quando l’ho collegato tramite HTC Sync, il software visualizza il nome ‘HTC Smith’ . Vorrei prendere questo nome tramite codice.

Com’è ansible in Android?

Grazie

Per ottenere il nome del dispositivo Android devi aggiungere solo una singola riga di codice:

 android.os.Build.MODEL; 

Trovato qui: get-android-device-name

Puoi vedere le risposte qui Scarica il modello di telefono Android a livello di programmazione

 public String getDeviceName() { String manufacturer = Build.MANUFACTURER; String model = Build.MODEL; if (model.startsWith(manufacturer)) { return capitalize(model); } else { return capitalize(manufacturer) + " " + model; } } private String capitalize(String s) { if (s == null || s.length() == 0) { return ""; } char first = s.charAt(0); if (Character.isUpperCase(first)) { return s; } else { return Character.toUpperCase(first) + s.substring(1); } } 

Provalo. È ansible ottenere il nome del dispositivo tramite Bluetooth.

Spero ti possa aiutare

 public String getPhoneName() { BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter(); String deviceName = myDevice.getName(); return deviceName; } 

Su molti dispositivi popolari il nome commerciale del dispositivo non è disponibile. Ad esempio, sul Samsung Galaxy S6 il valore di Build.MODEL potrebbe essere "SM-G920F" , "SM-G920I" o "SM-G920W8" .

Ho creato una piccola libreria che ottiene il nome di mercato di un dispositivo. Ottiene il nome corretto per oltre 10.000 dispositivi e viene costantemente aggiornato. Se desideri utilizzare la mia biblioteca clicca sul link qui sotto:

Libreria AndroidDeviceNames su Github


Se non si desidera utilizzare la libreria sopra, questa è la soluzione migliore per ottenere un nome dispositivo di facile utilizzo:

 /** Returns the consumer friendly device name */ public static String getDeviceName() { String manufacturer = Build.MANUFACTURER; String model = Build.MODEL; if (model.startsWith(manufacturer)) { return capitalize(model); } return capitalize(manufacturer) + " " + model; } private static String capitalize(String str) { if (TextUtils.isEmpty(str)) { return str; } char[] arr = str.toCharArray(); boolean capitalizeNext = true; String phrase = ""; for (char c : arr) { if (capitalizeNext && Character.isLetter(c)) { phrase += Character.toUpperCase(c); capitalizeNext = false; continue; } else if (Character.isWhitespace(c)) { capitalizeNext = true; } phrase += c; } return phrase; } 

Esempio dal mio Verizon HTC One M8:

 // using method from above System.out.println(getDeviceName()); // Using https://github.com/jaredrummler/AndroidDeviceNames System.out.println(DeviceName.getDeviceName()); 

Risultato:

HTC6525LVW

HTC One (M8)

Ho risolto questo problema ottenendo il nome Bluetooth, ma non dal BluetoothAdapter (che richiede il permesso Bluetooth).

Ecco il codice:

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

Non sono necessarie ulteriori autorizzazioni.

Puoi usare:

Da android doc:

MANUFACTURER :

 String MANUFACTURER 

Il produttore del prodotto / hardware.

MODEL :

 String MODEL 

Il nome visibile all’utente finale per il prodotto finale.

DEVICE :

 String DEVICE 

Il nome del design industriale.

Ad esempio:

 String deviceName = android.os.Build.MANUFACTURER + " " + android.os.Build.MODEL; //to add to textview TextView textView = (TextView) findViewById(R.id.text_view); textView.setText(deviceName); 

Inoltre, il loro è un sacco di attributi nella class Build che puoi usare, come:

  • os.android.Build.BOARD
  • os.android.Build.BRAND
  • os.android.Build.BOOTLOADER
  • os.android.Build.DISPLAY
  • os.android.Build.CPU_ABI
  • os.android.Build.PRODUCT
  • os.android.Build.HARDWARE
  • os.android.Build.ID

Inoltre sono altri modi per ottenere il nome del dispositivo senza usare la class Build (tramite il bluetooth).

@ la risposta di hbhakhra farà.

Se sei interessato a una spiegazione dettagliata, è utile consultare il documento sulla definizione della compatibilità Android . (3.2.2 Parametri di costruzione)

Troverai:

DEVICE – Un valore scelto dall’implementatore del dispositivo che contiene il nome dello sviluppo o il nome del codice che identifica la configurazione delle caratteristiche hardware e del design industriale del dispositivo. Il valore di questo campo DEVE essere codificato come ASCII a 7 bit e corrispondere all’espressione regolare “^ [a-zA-Z0-9 _-] + $”.

MODELLO – Un valore scelto dall’implementatore del dispositivo che contiene il nome del dispositivo come noto all’utente finale. DOVREBBE essere lo stesso nome sotto il quale il dispositivo è commercializzato e venduto agli utenti finali. Non ci sono requisiti per il formato specifico di questo campo, ad eccezione del fatto che NON DEVE essere nullo o la stringa vuota (“”).

FABBRICANTE – Il nome commerciale del produttore di apparecchiature originali (OEM) del prodotto. Non ci sono requisiti per il formato specifico di questo campo, ad eccezione del fatto che NON DEVE essere nullo o la stringa vuota (“”).

Basta usare

BluetoothAdapter.getDefaultAdapter().getName()

Ottenere attraverso il Bluetooth è il modo migliore

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

Non dimenticare di aggiungere l’authorization Bluetooth al file manifest

A seguito di lavori per me.

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

Non penso sia la sua risposta duplicata. I ppl di cui sopra stanno parlando di Setting Secure, per me l’impostazione secure sta dando null, se uso l’impostazione global funziona. Grazie comunque.

Prova questo codice. Ottieni il nome del dispositivo Android.

 public static String getDeviceName() { String manufacturer = Build.MANUFACTURER; String model = Build.MODEL; if (model.startsWith(manufacturer)) { return model; } return manufacturer + " " + model; }