Ich habe eine Android-App, die ich im Amazon AppStore anbieten möchte. Meine App verfügt über einige standortbasierte Funktionen und Kamerafunktionen, die deaktiviert werden müssen, wenn das Gerät des Benutzers ein Kindle ist. Gibt es eine Möglichkeit, programmgesteuert festzustellen, ob das Gerät eines Benutzers ein Kindle ist? Ich bin mir bewusst, dass ich verschiedene Versionen für Kindle und nicht Kindle bauen kann, aber ich dachte, ich würde zuerst fragen, ob es eine Möglichkeit gibt, dies im Code zu erkennen.Identifizieren, ob das Gerät Kindle ist
Antwort
Um zu überprüfen, ob das Gerät eine bestimmte Funktion hat, müssen Sie in Ihrem Fall PackageManager.hasSystemFeature(String name)
ausreichen.
Um zu überprüfen, für die Lage und Kamera, die Sie FEATURE_LOCATION
und FEATURE_CAMERA
als Argument hasSystemFeature
verwenden können, wenn Sie immer noch die Hardware des Geräts wissen müssen, können Sie android.os.Build.MANUFACTURER
android.os.Build.BRAND
android.os.Build.BOARD
android.os.Build.DEVICE
Danke, perfekt! Ich schätze es sehr, eine so schnelle und detaillierte Antwort. –
Wenn Sie den Kindle erkennen möchten, suchen Sie nach dem Hersteller (Amazon) unter Verwendung von Build.MANUFACTURER und Modell mit Build.MODEL. Der Wert des Modells bei Kindle wird variieren, es kann KFTT, KFOT, Kindle Fire, etc. sein. See this for model nos.
Danke, sehr hilfreich. + 1. –
Ich weiß, dass dieser Beitrag alt ist, aber der Ansatz dazu ist falsch. Wenn Ihr Problem mit Kindles Hardware betrifft, d. H. Kindles haben keine Kamera- oder Kameraunterstützung, dann müssen Sie nach Kameraunterstützung und nicht Gerätetyp suchen. Was ist, wenn andere Geräte keine Kameraunterstützung bieten? Statt der vorgeschlagenen Antwort, versuchen Sie diese
public static boolean isCameraAvailable(Context context) {
PackageManager packageManager=context.getPackageManager();
if (packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)) {
// this device has a camera
return true;
} else {
// no camera on this device
return false;
}
}
Das ist viel besser als zum Erfassen, wenn das Gerät eine entfachen, sonst einen anderen Build spezifisch für kindle tun.
können Sie diese Methode verwenden, um ein Kindle-Gerät zu identifizieren (s)
public static boolean isKindle(){
final String AMAZON = "Amazon";
final String KINDLE_FIRE = "Kindle Fire";
return (Build.MANUFACTURER.equals(AMAZON) && Build.MODEL.equals(KINDLE_FIRE)) || Build.MODEL.startsWith("KF");
}
Einfach und nett. – berserk
Sie haben die falsche Frage werden könnten. Was ist das Problem auf dem Kindle? – Simon
Das Kindle hat zum Beispiel keine Kamera. Eine der Funktionen meiner App ist der Zugriff auf die Kamera. Ich erkunde, ob ich den Kameramenüpunkt z. B. basierend auf der Überprüfung, ob das Gerät ein Kindle ist, löschen kann. –
@Simon Sie hatten Recht - es war die falsche Frage. "So erkennen Sie Gerätefunktionen" wäre besser gewesen. Vielen Dank. –