2012-12-18 82 views
19

我之前已經使用共享型意圖,如:如何分享整個Android應用程序與分享意圖

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!")); 

然而,這基本上是與電子郵件/ MMS和其他文本或文檔類型的應用程序共享。你如何做同樣的事情,但包括Facebook,Twitter和Google Plus等社交分享(重要名稱)。我想分享的是應用程序,其中的文字說,「嘿下載此鏈接檢查應用程序!」 (或者類似的東西)。

回答

61

要添加Facebook,Twitter等共享選項,用戶只需需要安裝這些應用程序。這取決於他們將告訴系統他們可以處理什麼類型的Intents

然後一個基本的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); 

來源:http://developer.android.com/training/sharing/send.html

+0

完美髮揮的感謝。所以看起來,僅僅通過在意圖中包含文本(與空白文本主體相對),它會添加更多的社交選項? – KickingLettuce

+0

不,這是「ACTION_SEND」的組合和用戶具有可以處理「ACTION_SEND」的應用程序的事實,據我所知。嘗試空白文本(即不要「putExtra(..)」)並讓我知道:D – ataulm

+1

如果你看到我的問題,在這個例子中,我有'ACTION_SEND'沒有'EXTRA_TEXT',只有電子郵件客戶端,短信/ mms客戶端,Google Drive或Evernote在我的手機上出現。雖然,我指定'EXTRA_EMAIL',所以也許這是爲什麼? – KickingLettuce

3

你可以通過使用一個共享的意圖

  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);  

,你可以把這個意圖在一個onclick或者用它。無論您想

我覺得這個回答你的問題=)

1

分享鏈接,谷歌在Intent.EXTRA_TEXT額外

相關問題