2012-06-25 8 views
5

Es ist bekannt, dass wir die Absicht wie im folgenden Link beschrieben senden können und dann den Nutzer zu Google Play weiterleiten.Benutzer zum App Store in Android umleiten

Uri marketUri = Uri.parse("market://details?id=" + packageName); 
Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri); 
startActivity(marketIntent); 

Aber das Problem ist, dass alle App-Store, vor allem Amazon App Store (in Kindle), diese Absicht auch umgehen kann?
Ich weiß, dass die folgenden URI Benutzer Amazon App Store umleiten müssen:

http://www.amazon.com/gp/mas/dl/android?p=package 

Aber Ich will nicht zwei Binärdateien, eine für normale Android und die andere für Amazon haben.

+0

Konnten Sie das Gerät nicht erkennen und verwenden Sie je nach Gerät eine der URLs? –

+0

Ja, aber ich denke, es ist keine gute Lösung. Eigentlich gibt es nicht nur Google Play und Amazon App Store, es gibt viele App Stores in China Android Phone/Tablet. Und ich kann nicht alle Geräte ... Btw, ich weiß, dass ich den Hersteller bekommen kann, aber ich weiß nicht, die genaue Zeichenfolge von einem Amazon Geräte zurückgegeben, da ich kein Gerät in der Hand – Bear

+2

Weg zu finden Gerät -> http://stackoverflow.com/questions/8309624/detect-app-is-running-on-kindle-fire –

Antwort

3

Es gibt keine generische Methode, die Sache, die hier zu tun ist, ist eine Reihe von Flags in Ihrem Code gesetzt.

so würden Sie so etwas wie

boolean AMAZON_APK=true; 
boolean ANDROID_APK =false; 
.... 

haben Dann würden Sie die entsprechenden Werte festgelegt, wenn Sie auf amazon veröffentlichen möchten, und wenn Sie auf den Android Play veröffentlichen möchten. In Ihrem Code vor dem Start des Marktes würden Sie die Flaggen mit einer Reihe von if-Anweisungen überprüfen und starten Sie die entsprechende Absicht, je nachdem, was der jeweilige Markt unterstützt. Dies ist keine große Sache, da Sie nur einige Variablen ändern müssen.

if(AMAZON_APK) 
    //launch amazon intent 
if(ANDROID_APK) 
    //launch android market intent 
.... 

Sie können hier ein vollständigeres Beispiel sehen. How can I do an Amazon App Store search using an Intent and filter it by developer name? Auch wenn einige Märkte keine Marktabsicht unterstützen, können Sie einen Link zu einer mobilen Website starten und den Nutzer von dort aus auf Ihre Apps verweisen.

+0

Wie ich bereits erwähnt habe, möchte ich nicht zwei separate Binärdateien haben. Was ich wissen möchte ist, dass amazon Geräte die oben erwähnte Absicht erkennen können. Ich weiß, dass es in Amazon App Store verboten ist, aber es ist mir egal, da ich nicht in ihren App Store hochladen möchte. Ich möchte nur sicherstellen, dass es funktioniert, wenn es wirklich in Amazon Gerät – Bear

+0

Richtig, während ich nicht bestätigen kann, was Kindle mit der Marktabsicht tut, eine Möglichkeit, dies zu tun, ohne separate Binärdateien zu veröffentlichen, ist PackageManager zu verwenden, um zu sehen, ob Play Store ist installiert und starte dann die Android-Absicht, wenn nicht, überprüfe, ob Amazon installiert ist, wenn beide nicht da sind, dann benutze die Webseite oder andere "Laden" -Apps, die du kennst. Sehen Sie sich dies an und verwenden Sie den Paket-Manager, um nach installierten Apps zu suchen http://stackoverflow.com/q/6711295/329034 – mbwasi

Verwandte Themen