2010-08-09 12 views
15

Buduję wiele aplikacji na Androida i chcę mieć przycisk menu w aplikacjach, który zasadniczo otwiera listę moich innych aplikacji w Android Market.Android Link do rynku z innej aplikacji

Czy istnieje sposób na stworzenie intencji i pojawienie się rynku Android z wyszukiwaniem (mojej firmy) na rynku, aby użytkownicy mogli kupować inne aplikacje?

Ian

Odpowiedz

22

Tak, istnieje documented Intent syntax za to (http://market.android.com/search?q=pub:<Developer Name> lub market://search?q=pub:<Developer Name>).

+1

ma zaktualizowany link do Google Play, czy jest to nadal „rynek” – gregm

+0

@gregm: Na to wygląda nadal jest "rynkiem": http://developer.android.com/guide/publishing/publishing.html#marketintent – CommonsWare

+0

@CommonsWare Czy wiesz, czy to nadal działa? Próbowałem na Galaxy S 3 z Play Store 3.7.15 i nie działa, jeśli zawieram "pub:", ale działa dobrze, jeśli po prostu umieszczam nazwę wydawcy jako zapytanie. Nie lubię robić tego w ten sposób, ponieważ inne rzeczy mogą w istocie się pojawić. – Hamid

4

Intencją działania byłoby zobaczenie i wyświetlenie adresu URL/URI na rynku.

Jak to:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pub:<developer name>"))); 
65

Nawet lepiej jest użyć "Rynek: // szczegóły" zamiast "market: // search":

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("market://details?id=com.android.example")); 
startActivity(intent); 

Następnie otwiera się bezpośrednio na stronę Szczegóły Aplikacja. W przypadku wyszukiwania pokazuje pojedynczy wynik wyszukiwania, a użytkownik musi wykonać dodatkowe kliknięcie, aby przejść do strony szczegółów.

+0

uproszczona wersja dla Android Studio '' 'startActivity (nowy cel (Intent.ACTION_VIEW, Uri.parse (" market: // details? id = "+ BuildConfig.APPLICATION_ID));' '' – gio

2

Na moim prawdziwym urządzeniu Sony Xperia Pro i tablet PocketBook, nawet jeśli umieścisz link do gry w sklepie internetowym, np. https://play.google.com/store/apps/details?id=com.estrongs.android.pop Zapyta, czy chcesz otworzyć go w domyślnej przeglądarce, czy na rynku Play. Jeśli wybierzesz Play market - aplikacja zostanie wyświetlona zgodnie z oczekiwaniami. Nie przetestowano go z zamiarem, przetestowano za pomocą funkcji Autolink z TextView.

3

Innym sposobem jest uruchomienie URL Intent wraz z nazwą pakietu aplikacji. Użytkownik otrzyma wyskakujące okienko z listą zainstalowanych Przeglądarek + Aplikacja Sklep Play, w której może wyświetlić swoją aplikację docelową.

String appPackageName = "com.example.android"; 
String url = "https://play.google.com/store/apps/details?id=" + appPackageName; 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse(url)); 
startActivity(intent); 

Powyższy kod został przetestowany i działa zgodnie z oczekiwaniami na Sklep Play w wersji 4.1.6

0
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch(item.getItemId()) { 
     case R.id.adfree: 
      final String appPackageName = "com.zooohooo.noads"; // Can also use getPackageName(), as below 
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); 
      return true; 
     case R.id.rate: 
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName()))); 
      return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
Powiązane problemy