431 Stimmen

Get Android Phone Model programmatisch , Wie bekommt man Gerätename und Modell programmatisch in Android?

Ich würde gerne wissen, ob es eine Möglichkeit gibt, das Telefonmodell in Android programmatisch zu lesen.

Ich würde gerne einen String wie HTC Dream, Milestone, Sapphire oder was auch immer bekommen...

7voto

RamakanthReddy Punkte 121

Können Sie den folgenden Code verwenden, um den Markennamen und Markenmodell des Geräts abzurufen.

 String brand = Build.BRAND; // for getting BrandName
 String model = Build.MODEL; // for getting Model of the device

4voto

Hier ist mein Code, um Hersteller, Markenname, Os Version und Support API Level zu erhalten

String manufacturer = Build.MANUFACTURER;

String model = Build.MODEL + " " + android.os.Build.BRAND +" ("
           + android.os.Build.VERSION.RELEASE+")"
           + " API-" + android.os.Build.VERSION.SDK_INT;

if (model.startsWith(manufacturer)) {
    return capitalize(model);
} else {
    return capitalize(manufacturer) + " " + model;
}

Ausgabe:

System.out: button press on device name = Lava Alfa L iris(5.0) API-21

3voto

Kotlin-Version

val Name: String by lazy {
    val manufacturer = Build.MANUFACTURER
    val model = Build.MODEL
    if (model.toLowerCase().startsWith(manufacturer.toLowerCase())) {
        capitalize(model)
    } else {
        capitalize(manufacturer) + " " + model
    }
}

private fun capitalize(s: String?): String {
    if (s == null || s.isEmpty()) {
        return ""
    }
    val first = s[0]
    return if (Character.isUpperCase(first)) {
        s
    } else {
        Character.toUpperCase(first) + s.substring(1)
    }
}

2voto

Xjasz Punkte 1238

Ich habe Idolons Code ein wenig geändert. Dadurch werden Wörter großgeschrieben, wenn das Gerätemodell abgerufen wird.

public static String getDeviceName() {
    final String manufacturer = Build.MANUFACTURER, model = Build.MODEL;
    return model.startsWith(manufacturer) ? capitalizePhrase(model) : capitalizePhrase(manufacturer) + " " + model;
}

private static String capitalizePhrase(String s) {
    if (s == null || s.length() == 0)
        return s;
    else {
        StringBuilder phrase = new StringBuilder();
        boolean next = true;
        for (char c : s.toCharArray()) {
            if (next && Character.isLetter(c) || Character.isWhitespace(c))
                next = Character.isWhitespace(c = Character.toUpperCase(c));
            phrase.append(c);
        }
        return phrase.toString();
    }
}

0voto

Sridhar Nalam Punkte 509

Sie können den Gerätenamen des Telefons aus der Datei

BluetoothAdapter

Falls das Telefon Bluetooth nicht unterstützt, müssen Sie den Gerätenamen aus

Android.os.Build Klasse

Hier ist der Beispielcode zum Abrufen des Gerätenamens des Telefons.

public String getPhoneDeviceName() {  
        String name=null;
        // Try to take Bluetooth name
        BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
        if (adapter != null) {
            name = adapter.getName();
        }

        // If not found, use MODEL name
        if (TextUtils.isEmpty(name)) {
            String manufacturer = Build.MANUFACTURER;
            String model = Build.MODEL;
            if (model.startsWith(manufacturer)) {
                name = model;
            } else {
                name = manufacturer + " " + model;
            }
        } 
        return name;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X