2012-06-06 11 views
86

En son uygulamasındaki diğer uygulamalarımın bağlantılarını buldum ve onları bu şekilde açıyorum. Bu kodlar Google Play Store'un tarayıcı sürümünü açar. Bu kodlar, Google Play Store'un tarayıcı sürümünü açar.google play mağazasının açık linki mobil sürüm android

Telefonumdan açmaya çalışırken, telefon tarayıcı veya google oyununu kullanmak isteyip istemediğimi sorar ve ikincisini seçersem google oyun mağazasının mobil sürümünü açar.

Bunun nasıl olacağını hemen söyleyebilir misiniz? Bana sormuyorum, doğrudan google oyunun mobil sürümünü doğrudan açarken, doğrudan telefondan açtığımda görüyorum. Bu (örneğin, emülatör) kurulu Market yoktur herhangi bir cihazda kilitlenmesine

final String appPackageName = "com.example"; // Can also use getPackageName(), as below 
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); 

Unutmayın:

+1

Ben son paragraf ikinci benim için gerçek olsaydım. Burada bulunan http bağlantısını kullanarak http://developer.android.com/distribute/googleplay/promote/linking.html#OpeningDetails, kullanıcının uygulamayı veya tarayıcıyı seçmesini istemez. Her zaman tarayıcıyı varsayar. Ne yazık ki, 'market: //' protokolünü de kullanamıyorum. Bu davranışı gören başka kimse var mı? – SilithCrowe

cevap

260

Belirtilen market protokolünü kullanmak isteyeceksiniz. tutarlılık için bunların Context veya alt sınıfından getPackageName() kullanırken

final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object 
try { 
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); 
} catch (android.content.ActivityNotFoundException anfe) { 
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName))); 
} 

: Dolayısıyla, ben gibi bir şey öneririm (teşekkürler @cprcrack!). Piyasa Amaçları hakkında daha fazla bilgiyi burada bulabilirsiniz: link.

+0

Tarayıcıda aşağıdakileri açma Google Play açılmıyor: market: // details? Id = pandora –

+1

Kimlik, paket adı değil, uygulama adıdır. Marketi deneyin: // details? Id = com.PandoraTV' ([this] (https://play.google.com/store/apps/details?id=com.PandoraTV) istediğiniz uygulamadır). – Eric

+0

Android için Chrome'da pazar: // ile başlayan herhangi bir bağlantıyı açmayı deneyin. Sadece bir arama sonucu gerçekleştirdiğini göreceksiniz, Google Play mağazasını açmıyor.Pandora paketinin adı burada doğruysa, yüzlerce doğru paket adı verebilirim ve sorunu değiştirmeyeceğim. –

3

Google böyle oyna adresinden uygulama sayfasını açmak için Android Intents kütüphane kullanabilirsiniz:

Intent intent = IntentUtils.openPlayStore(getApplicationContext()); 
startActivity(intent); 
+2

[Sadece link cevaplar] (http://meta.stackoverflow.com/tags/link-only-answers/info) önerilmediğini unutmayın, SO cevapları bir çözüm arayışının son noktası olmalıdır (vs. zaman içinde bayat eğilimi olan referanslardan başka bir duraklama). Lütfen bağlantıyı referans olarak tutarak, burada tek başına bir özet eklemeyi düşünün. – kleopatra

+4

Bu kitaplığınızın ve [fonksiyonun uygulandığı] (http://grepcode.com/file/repo1.maven.org/maven2/com.dmitriy-tarasov/android-intents/ adresinde bir feragatname eklemek yararlı olacaktır) 1.1.0/com/dmitriy/tarasov/android/intents/IntentUtils.java # IntentUtils.openPlayStore% 28com.dmitriy.tarasov.android.intents.Context% 29) kabul edilen cevapla hemen hemen aynı şekilde. –

5

Aşağıda, kod mayıs mobil versiyonu boğaz oynamak google ekranı uygulama bağlantısı için size yardımcı olur.

Uri uri = Uri.parse("market://details?id=" + mContext.getPackageName()); 
Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri); 

    try { 
     startActivity(myAppLinkToMarket); 

     } catch (ActivityNotFoundException e) { 

     //the device hasn't installed Google Play 
     Toast.makeText(Setting.this, "You don't have Google Play installed", Toast.LENGTH_LONG).show(); 
       } 

Geliştirici bağlantı için: eğer bu

Uri uri = Uri.parse("market://search?q=pub:" + YourDeveloperName); 
Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri); 

      try { 

       startActivity(myAppLinkToMarket); 

      } catch (ActivityNotFoundException e) { 

       //the device hasn't installed Google Play 
       Toast.makeText(Settings.this, "You don't have Google Play installed", Toast.LENGTH_LONG).show(); 

      } 
1

Sen tarihinde Uygulama yüklendikten Play Store olmadığını kontrol edebilir Uygulama bağlantı için

durumda, "market: //" protokolünü kullanabilirsiniz. Google Play'de

final String my_package_name = "........." // <- HERE YOUR PACKAGE NAME!! 
String url = ""; 

try { 
    //Check whether Google Play store is installed or not: 
    this.getPackageManager().getPackageInfo("com.android.vending", 0); 

    url = "market://details?id=" + my_package_name; 
} catch (final Exception e) { 
    url = "https://play.google.com/store/apps/details?id=" + my_package_name; 
} 


//Open the app page in Google Play store: 
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); 
startActivity(intent); 
0

Uygulama sayfasını aç:

Intent intent = new Intent(Intent.ACTION_VIEW, 
       Uri.parse("market://details?id=" + context.getPackageName())); 
startActivity(intent); 
İlgili konular