Chciałbym wiedzieć, czy istnieje sposób programowego odczytu modelu telefonu w systemie Android.
Chciałbym dostać ciąg taki jak HTC Dream, Milestone, Sapphire lub cokolwiek ...
źródło
Chciałbym wiedzieć, czy istnieje sposób programowego odczytu modelu telefonu w systemie Android.
Chciałbym dostać ciąg taki jak HTC Dream, Milestone, Sapphire lub cokolwiek ...
Na wielu popularnych urządzeniach nazwa rynkowa urządzenia jest niedostępna. Na przykład, na Samsung Galaxy S6 wartość Build.MODEL
może być "SM-G920F"
, "SM-G920I"
albo "SM-G920W8"
.
Stworzyłem małą bibliotekę, która otrzymuje nazwę rynkową (przyjazną konsumentowi) urządzenia. Otrzymuje prawidłową nazwę dla ponad 10 000 urządzeń i jest stale aktualizowany. Jeśli chcesz skorzystać z mojej biblioteki, kliknij poniższy link:
Jeśli nie chcesz korzystać z powyższej biblioteki, jest to najlepsze rozwiązanie, aby uzyskać przyjazną dla konsumenta nazwę urządzenia:
/** 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();
}
Przykład z mojego Verizon HTC One M8:
// using method from above
System.out.println(getDeviceName());
// Using https://github.com/jaredrummler/AndroidDeviceNames
System.out.println(DeviceName.getDeviceName());
Wynik:
HTC6525LVW
HTC One (M8)
getDeviceName()
? Jeśli to nie da wyników, których szukasz, nie ma lepszego rozwiązania, o którym wiem.Używam następującego kodu, aby uzyskać pełną nazwę urządzenia. Pobiera ciągi modelu i producenta i łączy je, chyba że ciąg modelu zawiera już nazwę producenta (w niektórych telefonach tak jest):
Oto kilka przykładów nazw urządzeń, które otrzymałem od użytkowników:
źródło
Tak: Build.MODEL .
źródło
W rzeczywistości nie jest to w 100% poprawne. To może dać ci Model (czasami liczby).
Otrzymasz od ciebie producenta telefonu (część twojego żądania HTC):
W przypadku nazwy produktu:
źródło
String name = Build.MANUFACTURER + " - " + Build.MODEL
jest to najbardziej przydatna kombinacja. Build.PRODUCT czasami używa nieoczekiwanej nazwy. Na przykład w Galaxy Nexus zwraca „takgu”. Z drugiej strony Build.MODEL to wartość dla użytkownika wyświetlana w obszarze Ustawienia-> Informacje o telefonie-> Numer modelu.Dla tych, którzy szukają pełnej listy właściwości
Build
tutaj, jest przykład dla Sony Z1 Compact:Możesz łatwo wyświetlić listę tych właściwości urządzenia w trybie debugowania za pomocą okna dialogowego „oceń wyrażenie” za pomocą kotlin:
źródło
źródło
Poniższe ciągi znaków są przydatne, gdy chcesz pobrać producenta, nazwę urządzenia i / lub model:
źródło
Najwyraźniej musisz użyć listy od Google na https://support.google.com/googleplay/answer/1727131
Interfejsy API nie zwracają niczego, czego oczekuję ani niczego w Ustawieniach. Dla mojej Motoroli X to właśnie dostaję
Przechodzenie do strony wymienionej powyżej „duch” mapy do Moto X. Wygląda to może być odrobinę prostsze ...
źródło
możesz użyć następującego kodu, aby uzyskać nazwę marki i model marki urządzenia.
źródło
Oto mój kod, aby uzyskać nazwę producenta, markę, wersję systemu operacyjnego i poziom wsparcia API
Wynik:
źródło
Wersja Kotlin
źródło
capitalize
stackoverflow.com/a/59158474/1446466Zmieniono nieco kod Idolons. Spowoduje to pisanie wielkich liter po otrzymaniu modelu urządzenia.
źródło
Krótka wersja Kotlin:
źródło
Build.DEVICE Daje czytelną dla ludzi nazwę dla niektórych urządzeń niż
Build.MODEL
źródło
Możesz uzyskać nazwę urządzenia telefonicznego z
Jeśli telefon nie obsługuje Bluetooth, musisz skonstruować nazwę urządzenia
Oto przykładowy kod, aby uzyskać nazwę urządzenia telefonicznego.
źródło
Możesz wypróbować następującą funkcję i zwrócić jej nazwę telefonu Model w postaci łańcucha.
źródło