Androidプラットフォーム共有のFacebook
3338 ワード
共有する前に準備をしたり、Facebook Developerに申請したり、自分のアプリケーションを追加したりする必要があります.ここではこれらの準備を繰り返さず、直接公式サイトに行って流れに従って申請することができます.注意が必要なのは記入に関するサインです.テスト署名と正式署名に分けられ、両者は異なります.また、テストの過程で、この署名について開発者に記入していないことを示す可能性があります.誤って提示された署名を記入する必要があります.
インベントリファイルの構成 FacebookSDKを初期化します.(最新バージョンのsdkを直接ASにインポート) コールバックマネージャ を初期化する.共有 共有結果を設定すると に戻る.
インベントリファイルの構成
// appkey , xml 。
// application
FacebookSdk.sdkInitialize(getApplicationContext());
mCManager = CallbackManager.Factory.create();
//
ShareDialog mFBShareDialog = new com.facebook.share.widget.ShareDialog(mActivity);
//
mFBShareDialog.registerCallback(mCallbackManager, new FacebookCallback() {
@Override
public void onSuccess(Sharer.Result result) {
Log.i(TAG, "onSuccess");
Toast.makeText(mActivity, mActivity.getString(R.string.WEIBO_SHARE_SUCCESS),
Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel() {
Log.i(TAG, "onCancel");
Toast.makeText(mActivity, mActivity.getString(R.string.WEIBO_SHARE_CANCELED),
Toast.LENGTH_SHORT).show();
}
@Override
public void onError(FacebookException error) {
error.printStackTrace();
}
});
if ( com.facebook.share.widget.ShareDialog.canShow(ShareLinkContent.class) ) {
//ShareLinkContent , 。
/*ShareLinkContent.Builder mShareLinkBuilder = new ShareLinkContent.Builder();
*//*if( contetUrl != null ) {
mShareLinkBuilder.setContentUrl(Uri.parse(contetUrl));
}*//*
Log.i(TAG, "title = " + title + " contentUrl = " + contetUrl + " imgUrl = " + imgUrl);
mShareLinkBuilder.setContentUrl(Uri.parse(contetUrl));
mShareLinkBuilder.setContentTitle(title);
//mShareLinkBuilder.setContentDescription("sdasdasdasdasdsdsadasdsadasdasdsdasdsadsadasdsadsdasdasdasdasdasd");
mShareLinkBuilder.setImageUrl(Uri.parse(imgUrl));
ShareLinkContent mShareLink = mShareLinkBuilder.build();
mFBShareDialog.show(mShareLink);*/
//SharePhoto ,
SharePhoto mSharePhoto = new SharePhoto.Builder()
.setCaption(title)
.setBitmap(bitmap)
.build();
SharePhotoContent mContent = new SharePhotoContent.Builder()
.addPhoto(mSharePhoto)
.build();
mFBShareDialog.show(mContent);
if ( bitmap != null && !bitmap.isRecycled() ) {
bitmap.recycle();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mCManager.onActivityResult(requestCode, resultCode, data);
}