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);//注册
/**
* facebook回调
*/
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);
三、分享对话框显示
/**
* facebook分享
*/
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);
}