2011-11-29 10 views

Odpowiedz

42

Możesz przeczytać android.os.Build.MANUFACTURER i android.os.Build.MODEL. Na pierwszym ogniu Kindle są to odpowiednio "Amazon" i "Kindle Fire". Aby uzyskać kody modeli nowszych urządzeń Kindle Fire, zobacz stronę Device and Feature Specifications na stronie dla programistów Amazon.

+0

również sprawdzić https://stackoverflow.com/questions/19592927/is-it-possible-to-reliably-detect-at- runtime-which-store-installed-an-android-ap/19643816 # 19643816, aby sprawdzić, czy apk został zainstalowany ze sklepu Amazon – Offbeatmammal

36

podstawie oficjalnej Kindle Fire Device and Feature Specifications Obecnie używać tego kodu:

public static boolean isKindleFire() { 
    return android.os.Build.MANUFACTURER.equals("Amazon") 
      && (android.os.Build.MODEL.equals("Kindle Fire") 
       || android.os.Build.MODEL.startsWith("KF")); 
} 
+2

Po prostu aplikacja została odrzucona przez Amazon, ponieważ uruchamia sklep Google App, w zależności od tego test. Niestety nie mam wadliwych wartości 'Build. *', Ale ponownie przesyłam z 'equalsIgnoreCase' zamiast' equals' dla dwóch pierwszych części wyrażenia i przekazuję ponownie. Teraz może to być konieczne. – nmr

+0

@ nmr - equalsIgnoreCase prawdopodobnie nie boli, ale nie jestem przekonany. Może przeprowadzili test na urządzeniu bez ognia Kindle? AFAIK możesz zainstalować swój App Store na prawie każdym urządzeniu z systemem Android. Myślę, że powinieneś sprawdzić, czy Google Play jest dostępny dodatkowo (lub zamiast) tego testu. – devconsole

+0

Tak, kto wie, Amazon nie jest dokładnie idealnym aktorem, mogli przetestować na nie-Kindle, chociaż jestem dość pewny, że wyraźnie zabroniłem dystrybucji na nich. Naprawdę powinienem to zrobić tak, jak opisujesz, ale sposób, w jaki napisany jest kod, wymaga reorganizacji, aby to poprzeć. – nmr

Powiązane problemy