2013-02-09 21 views
5

Ben bir Android uygulaması var Amazon'da AppStore sunmak istiyorum. Uygulamamın, kullanıcının cihazı Kindle ise devre dışı bırakmam gereken bazı konum tabanlı özellikler ve kamera özellikleri var. Kullanıcının Aygıtının Kindle olup olmadığını programlı olarak algılamanın bir yolu var mı? Kindle ve Kindle olmayanlar için farklı versiyonlar oluşturabileceğimin farkındayım ama ilk önce kodda bunu tespit etmenin bir yolu olup olmadığını sordum.Cihaz olup olmadığını belirtin Kindle

+1

Yanlış soruyu soran olabilir belirlenmesinde bu yöntemi kullanabilirsiniz. Kindle'daki problem nedir? – Simon

+0

Kindle'ın örneğin bir kamerası yok. Uygulamamın özelliklerinden biri, kameraya erişmek. Cihazın bir Kindle olup olmadığını kontrol ederek kamera menü öğesini silebiliyorsam keşfediyorum. –

+0

@Simon haklıydınız - yanlış soru buydu. 'Cihaz özellikleri nasıl algılanır' daha iyi olurdu. Teşekkürler. –

cevap

12

Aygıtın belirli bir özelliği olup olmadığını kontrol etmek için, sizin durumunuzda yeterli olması gereken PackageManager.hasSystemFeature(String name).

yine cihazınızın donanım bilmek gerekiyorsa hasSystemFeature

için argüman olarak FEATURE_LOCATION ve FEATURE_CAMERA kullanabilirsiniz konum ve kamera kontrol etmek için kontrol edebilirsiniz android.os.Build.MANUFACTURER android.os.Build.BRAND android.os.Build.BOARD android.os.Build.DEVICE

+0

Teşekkürler, mükemmel! Gerçekten takdir ediyorum, bu kadar hızlı ve detaylı bir cevap. –

9

Kindle'ı tespit etmek istiyorsanız, Build.MANUFACTURER'u kullanarak üreticiyi (Amazon) kontrol edin ve Build.MODEL'u kullanarak modeli kontrol edin. Kindle durumunda modelin değeri değişecektir, KFTT, KFOT, Kindle Fire, vb olabilir. See this for model nos.

+0

Teşekkürler, gerçekten yardımsever. + 1. –

1

Bu yazının eski olduğunu biliyorum, fakat buna yaklaşım yanlış. Kindles ile ilgili kaygınız donanım ile ilişkiliyse, yani Kindles'te kamera veya kamera desteği bulunmuyorsa, kamera desteğini değil cihaz tipini kontrol etmeniz gerekir. Diğer cihazlar kamera desteği sunmuyorsa ne olur? Bunun yerine önerilen cevabın, aksi kindle için spesifik başka yapı yapmak, Bu cihaz kindle ise için tespit daha iyidir bu

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; 
    } 
} 

deneyin.

4

Bir Kindle Cihazı (ler)

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

Basit ve güzel. – berserk

İlgili konular