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