您的位置:首页 > 移动开发 > Android开发

android Facebook登陆获取用户信息

2017-04-07 16:30 483 查看

第一步:准备工作

注册facebook开发者https://developers.facebook.com/获取ApplicationId,老样子翻墙用蓝灯,可能会被facebook冻结账号,需要上传个人信息验证。

第二步:在Module中添加依赖

compile 'com.facebook.android:facebook-android-sdk:4.20.0'


第三步:在AndroidManifest.xml文件中添加meta-data

<activity
android:name="com.facebook.FacebookActivity"
android:exported="true"
android:label="@string/app_name"/>

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" />


第四步:代码

public class OtherLoginActivity extends BaseActivity {

private CallbackManager callbackManager;
private String userId = "";
private String name = "";
private String imgUrl = "";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {

getFacebookInfo(loginResult.getAccessToken());

}

@Override
p
4000
ublic void onCancel() {
}

@Override
public void onError(FacebookException e) {

}
});

setContentView(R.layout.activity_other_login);
}

public void getFacebookInfo(AccessToken accessToken) {
userId = accessToken.getUserId();
GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
if (object != null) {
name = object.optString("name");
goLogin();
}
}
}).executeAsync();
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);

}

@OnClick({R.id.tv_facebook})
@Override
public void onClick(View v) {

LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "user_friends"));
}

//TODO:got the token,Notify server,and do something
private void goLogin() {

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: