2012-11-14 50 views
5

我想實現在我的應用程序內共享一個簡單的字符串。很顯然,Facebook以外的其他應用程據我所知,現在我必須使用他們的Facebook SDK在牆上發佈狀態。Android共享 - Facebook的SDK - ShareActionProvider

但是,如果我使用他們的SDK來實現它,是否有辦法將它合併到選擇器(默認或ShareActionProvider)並以某種方式覆蓋它並插入Facebook SDK的實現?

還是我必須創建一個專用按鈕?

//編輯

package com.example.shareactionproviderdemo; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 

public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
     sharingIntent.setType("text/plain"); 
     sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Test message"); 
     startActivity(Intent.createChooser(sharingIntent, "Share using")); 
    } 

} 

enter image description here

回答

4

答案是你不能使用意圖共用串到用戶自己的牆。你需要SDK才能做到這一點。原因是因爲Facebook不允許預先填寫用戶的狀態更新,如Platform Policy IV.2所示。

但是,如果您使用SDK,我們提供了一個提示用戶共享狀態的提要對話框,並允許部分狀態更新由開發人員預填。但是,它並沒有被納入到Android的原生選擇器中。

跟蹤此問題的外部錯誤報告爲here

+1

這對我不起作用,當選擇器彈出時,我選擇Facebook,我看到的只是一個空的edittext,就好像EXTRA_TEXT字符串沒有收到。任何想法我做錯了什麼?我看到你在Facebook上分道揚for。 //我使用snippet和屏幕截圖更新了問題 – urSus

+0

您可以嘗試使用'EXTRA_SUBJECT'而不是'EXTRA_TEXT'並向您報告它是否適用於您? –

+0

這也不管用,它對你有用嗎?因爲它在過去從來沒有爲我工作過,我發現這個問題有很多線索(http://stackoverflow.com/questions/3515198/share-text-on-facebook-from-android-app-via-action-send )。附:共享一個網址的工作方式,完全與在線程中發佈一樣。 – urSus