android 集成Facebook 分享功能

開場白 依然給大臉書

承接上一篇 android 集成facebook的登錄功能

首先分享功能 要在清單文件中添加如下內容提供者:

<provider android:authorities="com.facebook.app.FacebookContentProvider{APP_ID}"
          android:name="com.facebook.FacebookContentProvider"
          android:exported="true"/>

主要介紹Link分享的模板

包含的內容:

a contentTitle 標題
a imageURL, 圖片url
a contentDescription of the content, 描述

圖片摘自:facebook官方

這裏寫圖片描述

舉個栗子:

//創建一個shareLinkCOntent,
Builder linkContent = new ShareLinkContent.Builder()
                    .setContentTitle(title)
                    .setContentDescription(text)
                    .setShareHashtag(shareHashtagBuilder.build())
                    .setImageUrl(imgUri);
            if(null != link && link.length > 0){
                linkContent.setContentUrl(Uri.parse(link[0]));
            }else{
                linkContent.setContentUrl(Uri.parse(GlobalInfo.getInstance(activity).getShareUrl()));
            }
            ShareLinkContent sc = linkContent.build();

解釋一個setShareHashtag這個是一個標籤,就是在發佈的時候自動加上的,當然用戶可以去掉
怎麼創建ne,也是採用的構建者模式的鏈式調用

ShareHashtag.Builder shareHashtagBuilder = new ShareHashtag.Builder();
        shareHashtagBuilder.setHashtag("#HelloWorld");

這樣就可以了嗎 no

我們一般是調用用戶的facebook的客戶端進行post,就像我們分享到新浪微博,直接掉微博客戶端

這裏就用到了ShareDialog,加如滅有客戶端,則調用web端

就像登錄一樣,我們一樣要設置回調接口

public class MainActivity extends FragmentActivity {
    CallbackManager callbackManager;
    ShareDialog shareDialog;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        callbackManager = CallbackManager.Factory.create();
        shareDialog = new ShareDialog(this);
        // 這是可選的,你如果不使用也是不影響的
        shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() { ... });
    }
這是必須的
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
}

然後shareDialog.show(sc);就可以展示了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章