Search code examples
androidkindle-fire

How to distinguish if the Android app runs on Amazon Kindle Fire?


I have recently got my app rejected from Amazon Mobile App Distribution Portal with the argument that the Menu->"Rate the App" option redirects to Google Play Store.

In order to be accepted it should redirect to the Amazon Appstore, the Download URL must be http://www.amazon.com/gp/mas/dl/android?p=packagename which of course makes sense.

So I need something like:

String url = isKindle 
    ? "http://www.amazon.com/gp/mas/dl/android?p=packagename" 
    : "https://play.google.com/store/apps/details?id=packagename";

The question is: how can I distinguish if the app runs on Kindle Fire or on a "native" Android system?


Solution

  • You can read these:

    android.os.Build.MANUFACTURER 
    android.os.Build.MODEL
    

    On a Kindle Fire these return the values 'Amazon' and 'Kindle Fire'.

    http://developer.android.com/reference/android/os/Build.html

    That should be sufficient for your app to make a determination that it's running on a Kindle Fire.


    UPDATE:

    The preceding works for the gen 1 Kindle Fire.

    Newer models of the Kindle Fire have different values for android.os.Build.MODEL.

    https://developer.amazon.com/sdk/fire/specifications.html