2013-02-09 12 views
5

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

+1

Sie haben die falsche Frage werden könnten. Was ist das Problem auf dem Kindle? – Simon

+0

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. –

+0

@Simon Sie hatten Recht - es war die falsche Frage. "So erkennen Sie Gerätefunktionen" wäre besser gewesen. Vielen Dank. –

Antwort

12

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

+0

Danke, perfekt! Ich schätze es sehr, eine so schnelle und detaillierte Antwort. –

9
überprüfen

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.

+0

Danke, sehr hilfreich. + 1. –

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.

4

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"); 
} 
+1

Einfach und nett. – berserk

Verwandte Themen