2012-12-18 19 views
19

Użyłem Sharing typu zamiary wcześniej, takich jak:Jak udostępnić Cały Android App udostępniaj Intent

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("plain/text"); 
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "---" }); 
intent.putExtra(Intent.EXTRA_SUBJECT, "---"); 
startActivity(Intent.createChooser(intent, "Contact Us!")); 

Jednak Zasadniczo akcji z e-mail/MMS i innych tekstowych lub typu dokumentu aplikacji. Jak robisz to samo, ale włączasz udostępnianie społecznościowe, takie jak Facebook, Twitter i Google Plus (żeby wymienić te ważne). A CO chcę udostępnić to aplikacja, w której tekst mówi: "hej pobierz ten link, aby sprawdzić aplikację!" (lub coś podobnego wzdłuż tych linii).

Odpowiedz

61

Aby dodać Facebook, Twitter itp. Opcje udostępniania, użytkownik po prostu musi mieć te aplikacje zainstalowane. To zależy od innych aplikacji, jakie typy Intents powiedzą systemowi, z którym mogą sobie poradzić.

Następnie zostanie pobrana podstawowa intencja ACTION_SEND.

Intent sendIntent = new Intent(); 
sendIntent.setAction(Intent.ACTION_SEND); 
sendIntent.putExtra(Intent.EXTRA_TEXT, 
    "Hey check out my app at: https://play.google.com/store/apps/details?id=com.google.android.apps.plus"); 
sendIntent.setType("text/plain"); 
startActivity(sendIntent); 

Źródło: http://developer.android.com/training/sharing/send.html

+0

Idealny podziękowania. Wygląda więc na to, że po prostu wpisując tekst w intencji (w przeciwieństwie do pustego tekstu), doda on więcej opcji społecznych? – KickingLettuce

+0

nie, to połączenie "ACTION_SEND" z faktem, że użytkownik ma aplikacje, które mogą obsłużyć "ACTION_SEND", o ile wiem. Wypróbuj pusty tekst (tj. Nie "putExtra (..)") i daj mi znać: D – ataulm

+1

Jeśli widzisz moje pytanie, w tym przykładzie mam "ACTION_SEND" z NO 'EXTRA_TEXT' i tylko klientami poczty e-mail, sms/Pojawią się klienci mms, Dysk Google lub Evernote na moim telefonie. Chociaż określam "EXTRA_EMAIL", więc może to dlatego? – KickingLettuce

3

Można to zrobić za pomocą udostępniania intencję

  Intent shareIntent = new Intent(Intent.ACTION_SEND); 
      shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      shareIntent.setType("text/plain"); 
      shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Hey, download this app!"); 
      startActivity(shareIntent);  

można umieścić tę intencję w onclick lub używać go gdziekolwiek chcesz

myślę, że odpowiedzi na swoje pytanie =)

1

Podziel link do Google Play w Intent.EXTRA_TEXT extra

Powiązane problemy