Android Facebook分享功能实现

来源:互联网 发布:笔记本自带看图软件 编辑:程序博客网 时间:2024/06/07 09:54

1、下载 Facebook SDK

https://developers.facebook.com/docs/android?locale=zh_CN

2、在facebook下设置app的相关信息

3、主要代码


private CallbackManager callbackManager;private ShareDialog shareDialog;private boolean canPresentShareDialog;
@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    FacebookSdk.sdkInitialize(this.getApplicationContext());    callbackManager = CallbackManager.Factory.create();    shareDialog = new ShareDialog(this);    shareDialog.registerCallback(callbackManager,shareCallback);
    setContentView(R.layout.share);       ImageView bt_list_share = (ImageView) findViewById(R.id.bt_list_share);//facebook分享有自带的sharebutton  这里就自定义了一张图片了    bt_list_share.setOnClickListener(new OnClickListener() {        @Override        public void onClick(View v) {           
ShareLinkContent linkContent = new ShareLinkContent.Builder()        .setContentUrl(Uri.parse("http://www.baidu.com"))        .setContentTitle("facebook share")        .setContentDescription("good description")        .build();
shareDialog.show(linkContent);
} });}
设置回调:

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    callbackManager.onActivityResult(requestCode, resultCode, data);}
private FacebookCallback<Sharer.Result> shareCallback = new FacebookCallback<Sharer.Result>() {    @Override    public void onCancel() {        Log.d("Facebook", "Canceled");    }    @Override    public void onError(FacebookException error) {        Log.d("Facebook", String.format("Error: %s",error.toString()));    }    @Override    public void onSuccess(Sharer.Result result) {        Log.d("HelloFacebook", "Success!");    }};
最后别忘了AndroidManifest.xml中配置下

<activity android:name="com.facebook.FacebookActivity"          android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"          android:theme="@android:style/Theme.Translucent.NoTitleBar"          android:label="@string/app_name"/><meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/><provider android:authorities="com.facebook.app.FacebookContentProvider[app_id]"          android:name="com.facebook.FacebookContentProvider"          android:exported="true"/>


好了 主要的基本就这么多了  祝大家好运能顺利实现,有不足的地方还望指正~~~

0 0