2012-06-25 11 views
5

È noto che è possibile inviare l'intento come descritto nel seguente link e quindi reindirizzare l'utente a Google Play.Reindirizzare l'utente all'App Store in Android

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

Ma il problema è che tutti App Store, in particolare Amazon App Store (a Kindle), in grado di gestire questo intento pure?
So che il seguente URI deve reindirizzare all'utente di app store di Amazon:

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

Ma, io non voglio avere due binari, uno per ordinaria Android e l'altro per Amazon.

+0

Impossibile rilevare il dispositivo e utilizzare l'URL in base al dispositivo? –

+0

Sì, ma penso che non sia una buona soluzione. In realtà, non ci sono solo Google Play e Amazon App Store, ci sono molti App store in Cina Android Phone/Tablet. E non posso gestire tutti i dispositivi ... Btw, so che posso ottenere il produttore ma non conosco la stringa esatta restituita da un dispositivo Amazon perché non ho un dispositivo in mano – Bear

+2

Modo di trovare dispositivo -> http://stackoverflow.com/questions/8309624/detect-app-is-running-on-kindle-fire –

risposta

3

Non esiste un metodo generico, la cosa da fare qui è impostare un gruppo di flag nel codice.

modo si avrebbe qualcosa come

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

Poi si dovrebbe impostare i valori appropriati quando si desidera pubblicare ad Amazon e quando si desidera pubblicare Android Play. Nel tuo codice prima di lanciare il mercato dovresti controllare le bandiere con una serie di istruzioni if ​​e lanciare l'intento appropriato a seconda di ciò che il mercato particolare supporta. Questo non è un grosso problema dato che devi solo modificare alcune variabili.

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

Qui puoi vedere un esempio più completo. How can I do an Amazon App Store search using an Intent and filter it by developer name? anche se alcuni mercati non supportano alcunché come un intento di mercato, è possibile avviare un collegamento a un sito Web mobile e indirizzare l'utente verso le proprie app da lì.

+0

Come ho già detto, non voglio avere due binari separati. Quello che voglio sapere è che i dispositivi Amazon possono riconoscere l'intento che ho citato sopra. So che è vietato dall'app store di Amazon, ma non mi interessa perché non ho intenzione di caricare sul loro app store. Voglio solo assicurarmi che funzioni davvero sul dispositivo Amazon – Bear

+0

Giusto, mentre non posso confermare ciò che kindle fa con l'intento del mercato, un modo per farlo senza dover rilasciare binari separati è usare PackageManager per vedere se Play Store è installato e quindi avviare l'intento di Android, se non controllare se Amazon è installato, se entrambi non ci sono quindi utilizzare il sito Web o qualsiasi altra app "store" che conosci. Vedi questo su come usare il gestore pacchetti per verificare le app installate http://stackoverflow.com/q/6711295/329034 – mbwasi

Problemi correlati