Facebook :https://developers:facebook.com
登陸
步驟:
1、建立應用(15及以上版本)
2、在build.gradle中dependenies前添加
repositories {
mavenCentral()
}
3、在dependenies中添加
compile ‘com.facebook.android:facebook-android-sdk:4.6.0'
然後重新編譯
4、填寫應用包名、預設啟動類名-》next
5、生成Development key Hashes-》next
6、生成Release key Hash-》next
7、在OnResume和OnPause中添加日志
8、oncreate中添加初始化
mFacebookLoginButton.setReadPermissions(“user_friends”);//設定權限
callbackManager = CallbackManager.Factory.create();//建立回調管理
mFacebookLoginButton.registerCallback(callbackManager, facebookCallback);//注冊
FacebookCallback<LoginResult> facebookCallback = new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
final String accessToken = loginResult.getAccessToken().getToken();
Date date = loginResult.getAccessToken().getExpires();
SharedSettings.setExpiresAtFB(date.getTime());
}
@Override
public void onCancel() {
ToastUtils.showToast(getResources().getString(R.string.cancel_login));
}
@Override
public void onError(FacebookException e) {
ToastUtils.showToast(e.toString());
}
};
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
登出、
LoginManager.getInstance().logOut();
mFacebookLoginButton.performClick();
分享
一、變量聲明
private static final String SHARE_GAME_LINK = "www.baidu.com";//"www.baidu.com";// "https://developers.facebook.com/docs/android";
private static final String SHARE_GAME_NAME = “app”;
private static final String SHARE_DESC = description;
private static final String TAG = "TAG";
private ShareDialog shareDialog;
二、執行個體建立
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
shareDialog.registerCallback(callbackManager, callback);
三、分享對話框顯示
private void facebookShare() {
if (shareDialog.canShow(ShareLinkContent.class)) {
ShareLinkContent content = new ShareLinkContent.Builder()
.setContentTitle("wakaka")
.setImageUrl(Uri.parse(imageUrl))
.setContentDescription(SHARE_DESC)
.setContentUrl(Uri.parse(SHARE_GAME_LINK))
.build();
shareDialog.show(content);
}
}
四、建立回調
1、
FacebookCallback<Sharer.Result> callback = new FacebookCallback<Sharer.Result>() {
@Override
public void onCancel() {
ToastUtils.showToast("facebook:" + getResources().getString(R.string.m_cancel));
}
@Override
public void onError(FacebookException error) {
ToastUtils.showToast("facebook:" + error.toString());
}
@Override
public void onSuccess(Sharer.Result result) {
ToastUtils.showToast("facebook:" + getResources().getString(R.string.success));
}
};
2、
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}