Ich würde gerne wissen, ob es eine Möglichkeit gibt, das Telefonmodell programmgesteuert in Android zu lesen.
Ich hätte gerne eine Saite wie HTC Dream, Milestone, Sapphire oder was auch immer ...
quelle
Ich würde gerne wissen, ob es eine Möglichkeit gibt, das Telefonmodell programmgesteuert in Android zu lesen.
Ich hätte gerne eine Saite wie HTC Dream, Milestone, Sapphire oder was auch immer ...
Auf vielen gängigen Geräten ist der Marktname des Geräts nicht verfügbar. Zum Beispiel auf dem Samsung Galaxy S6 der Wert Build.MODEL
sein könnte "SM-G920F"
, "SM-G920I"
oder "SM-G920W8"
.
Ich habe eine kleine Bibliothek erstellt, die den Marktnamen (verbraucherfreundlich) eines Geräts erhält. Es erhält den korrekten Namen für über 10.000 Geräte und wird ständig aktualisiert. Wenn Sie meine Bibliothek nutzen möchten, klicken Sie auf den folgenden Link:
Wenn Sie die oben genannte Bibliothek nicht verwenden möchten, ist dies die beste Lösung, um einen verbraucherfreundlichen Gerätenamen zu erhalten:
/** 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;
StringBuilder phrase = new StringBuilder();
for (char c : arr) {
if (capitalizeNext && Character.isLetter(c)) {
phrase.append(Character.toUpperCase(c));
capitalizeNext = false;
continue;
} else if (Character.isWhitespace(c)) {
capitalizeNext = true;
}
phrase.append(c);
}
return phrase.toString();
}
Beispiel von meinem Verizon HTC One M8:
// using method from above
System.out.println(getDeviceName());
// Using https://github.com/jaredrummler/AndroidDeviceNames
System.out.println(DeviceName.getDeviceName());
Ergebnis:
HTC6525LVW
HTC One (M8)
getDeviceName()
? Wenn das nicht zu den gewünschten Ergebnissen führt, gibt es keine bessere Lösung, die mir bekannt ist.Ich verwende den folgenden Code, um den vollständigen Gerätenamen zu erhalten. Es werden Modell- und Herstellerzeichenfolgen abgerufen und verkettet, es sei denn, die Modellzeichenfolge enthält bereits den Herstellernamen (auf einigen Telefonen ist dies der Fall):
Hier sind einige Beispiele für Gerätenamen, die ich von den Benutzern erhalten habe:
quelle
Ja: Build.MODEL .
quelle
Eigentlich ist das nicht 100% richtig. Das kann Ihnen Modell geben (manchmal Zahlen).
Erhalten Sie den Hersteller des Telefons (HTC-Teil Ihrer Anfrage):
Für einen Produktnamen:
quelle
String name = Build.MANUFACTURER + " - " + Build.MODEL
dies die nützlichste Kombination ist. Build.PRODUCT verwendet manchmal einen unerwarteten Namen. Auf dem Galaxy Nexus wird beispielsweise "takgu" zurückgegeben. Build.MODEL hingegen ist der benutzerbezogene Wert, der unter Einstellungen-> Über Telefon-> Modellnummer angezeigt wird.Für wen, die nach einer vollständigen Liste der Eigenschaften von
Build
hier suchen , ist ein Beispiel für Sony Z1 Compact:Sie können diese Eigenschaften für Ihr Gerät im Debug-Modus einfach auflisten, indem Sie den Dialog "Ausdruck auswerten" mit kotlin verwenden:
quelle
quelle
Die folgenden Zeichenfolgen sind alle nützlich, wenn Sie den Hersteller, den Namen des Geräts und / oder das Modell abrufen möchten:
quelle
Anscheinend müssen Sie die Liste von Google unter https://support.google.com/googleplay/answer/1727131 verwenden
Die APIs geben nichts zurück, was ich erwarte oder was in den Einstellungen steht. Für mein Motorola X bekomme ich das
Gehen Sie zu der oben genannten Seite "Ghost" -Karten zu Moto X. Scheint, als könnte dies ein bisschen einfacher sein ...
quelle
Mit dem folgenden Code können Sie den Markennamen und das Markenmodell des Geräts abrufen.
quelle
Hier ist mein Code, um Hersteller, Markenname, Os-Version und Support-API-Level zu erhalten
Ausgabe:
quelle
Kotlin-Version
quelle
capitalize
Kotlins stackoverflow.com/a/59158474/1446466Der Idolons-Code wurde ein wenig geändert. Dadurch werden Wörter beim Abrufen des Gerätemodells großgeschrieben.
quelle
Kotlin Kurzversion:
quelle
Build.DEVICE Gibt den für einige Geräte lesbaren Namen für einige Geräte an
Build.MODEL
quelle
Sie können den Namen des Telefongeräts von abrufen
Wenn das Telefon Bluetooth nicht unterstützt, müssen Sie den Gerätenamen aus erstellen
Hier ist der Beispielcode, um den Namen des Telefongeräts abzurufen.
quelle
Sie können die folgende Funktion ausprobieren und Ihren phoneModel-Namen im Zeichenfolgenformat zurückgeben.
quelle