添加依賴
dependencies {
compile 'com.facebook.android:facebook-android-sdk:4.5.0'
}
添加按鈕佈局
<com.facebook.login.widget.LoginButton
android:id="@+id/facebook"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
android:visibility="gone"/>
</LinearLayout>
添加波紋管的功能到活動類
CallbackManager callbackManager;
LoginButton facebookLoginBtn;
private FacebookCallback<LoginResult> callback = new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
jsonToMap(response.getJSONObject());
String uniqueId = map.get("id");
String userName = map.get("name");
String mail = map.get("email");
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender");
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException e) {
UIHelper.informDialog(mContext, mContext.getString(R.string.unable_to_sign_int));
}
};
public void initAllSignSdk() {
FacebookSdk.sdkInitialize(mContext);
callbackManager = CallbackManager.Factory.create();
FacebookSdk.addLoggingBehavior(LoggingBehavior.REQUESTS);
}
private void initViews(Dialog login) {
facebookLoginBtn = (LoginButton) login.findViewById(R.id.facebook);
facebookLoginBtn.setReadPermissions(Arrays.asList(
"public_profile", "email", "user_friends"));
facebookLoginBtn.registerCallback(callbackManager, callback);
}