2011-08-16 50 views
1

我在下面的代碼中遇到了一些問題。此代碼適用於電子郵件,消息,Twitter(用於發送文本),但不適用於Facebook。爲什麼?Android的Facebook共享意圖

Intent i=new Intent(android.content.Intent.ACTION_SEND); 
i.setType("text/plain"); 
i.putExtra(android.content.Intent.EXTRA_SUBJECT,"ScribeAir"); 
i.putExtra(android.content.Intent.EXTRA_TEXT, "ScribeAir has some cool features. Just use it..."); 
startActivity(Intent.createChooser(i,"Share")); 
+1

看到http://stackoverflow.com/a/16933944/154272 – Loda

回答

-7

試試這個:

i.setType("message/rfc822"); 
+0

通過使用上面的setType()現在我只能通過電子郵件發送文本甚至沒有消息或Twitter或Facebook也。 – Jyosna

0

這不是爲Facebook工作,因爲Facebook能夠通過共享ACTION_SEND只有一個鏈接。 如果你想發送文字以及鏈接。

首先你必須得到支持ACTION_SEND 然後BUIL對話

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
    sharingIntent.setType("text/plain"); 
    List activities = getPackageManager().queryIntentActivities(sharingIntent,0); 
活動後

安裝應用程序的列表,現在建一個對話框,以顯示活動。然後得到Facebook的意圖,並與分享其他所有的facebook api都可以自行處理,但請將類名稱通過其他活動。

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
       sharingIntent.setClassName(,); 
       sharingIntent.setType("text/plain"); 
       sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"hello"); 
       sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "facebook"); 
+10

我從你的帖子中瞭解到任何東西。 – Radu

+3

他說的是,你不能發送文本與faebook直接分享意圖,你應該使用由facebook提供的de API來做到這一點......如果你喜歡這樣做,你必須得到意圖動作發送,然後,如果Facebook被選中,則獲得該事件,並且,如果選擇了Facebook,則應該使用Facebook API來共享... –

0
  Intent sharing = new Intent(android.content.Intent.ACTION_SEND); 
      sharing.setClassName(,); 
      sharing.setType("text/plain"); 
      sharing.putExtra(android.content.Intent.EXTRA_SUBJECT,"hello"); 
      sharing.putExtra(android.content.Intent.EXTRA_TEXT, "yahoomail"); 
0

回答質疑這是問很久很久以前..

正如我知道,的Facebook不允許文本的預填充通過意向不像Twitter的/電子郵件。它由Facebook默認。但藉助Facebook SDK,我們可以以鏈接的形式共享文本。

參考Facebook的SDK sharing Docs