2014-09-29 149 views
11

有沒有一種方法可以在使用android和facebook facebook sdk的Facebook Messenger中共享文本?與facebook messenger分享文字?

我想做類似whatsapp的方式,選擇你的文本,並打開一個意圖,選擇你想發送的人... 有沒有辦法做到這一點與Facebook信使? 它出現在intent.choose dialog..but我只想要發送至Facebook信使..

+0

一旦你知道你想分享的文字,你可以使用shareACtion直接分享信使,信使會讓你決定把這個文本發送給誰。 – Kiloreux 2014-09-29 14:07:37

+1

結帳https://gist.github.com/gelldur/9c199654c91b13478979您可以通過Messanger分享 – 2015-05-27 10:44:51

+0

嗯,這是在iOS的兄弟... – 2015-12-23 09:34:18

回答

25

使用該代碼的onClick ,,

com.facebook.orca是FB信使包名。

Intent sendIntent = new Intent(); 
    sendIntent.setAction(Intent.ACTION_SEND); 
    sendIntent 
      .putExtra(Intent.EXTRA_TEXT, 
        "<---YOUR TEXT HERE--->."); 
    sendIntent.setType("text/plain"); 
    sendIntent.setPackage("com.facebook.orca"); 
    try { 
     startActivity(sendIntent); 
    } 
    catch (android.content.ActivityNotFoundException ex) { 
     Toast.makeText(context,"Please Install Facebook Messenger", Toast.LENGTH_LONG).show(); 
    } 
+0

噢,謝謝!愛你。 – 2014-09-29 14:27:19

+1

@WizKid我們可以在Android上做到這一點,但不是ios,我們不能?爲什麼fb不讓ios通過Messenger發送文本? – alicanbatur 2015-03-10 09:34:13

+4

從2015年5月初開始Messenger不再將自己註冊爲共享目標。在它改變之前,上面的代碼將不起作用。 – tomash 2015-05-04 12:36:40

15

開始Facebook的信使與特定用戶

Uri uri = Uri.parse("fb-messenger://user/"); uri = ContentUris.withAppendedId(uri,[provide user id]); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);

將開始你提到

+0

很高興知道!謝謝 – 2015-04-15 19:00:24

+0

@Ninad Kambli親愛的請瀏覽用戶ID,我將如何打開特定用戶 tanx – Adiii 2015-06-25 08:05:34

+0

用戶id是您在獲取Facebook的API請求時獲得的用戶ID,即「v1.0/me/friends」,並獲得ID – 2015-07-31 04:32:18