0

我希望我的 facebook 登录按钮能够自动获取用户的 facebook 信息并从中创建个人资料。

我查看了 facebook 提供的示例,但我不想在 LinearLayout 中创建单独的片段。我只想将它实现到我的RelativeLayout 中。

有人可以建议我该怎么做吗?我到处搜索,发现不推荐使用的答案,并且是 Facebook API 的新手:/

我需要创建什么方法来获取用户信息,然后将该信息发送到第二个活动类?

这是我到目前为止编写的一些代码:

package com.example.app;

import com.facebook.*;
import com.facebook.model.GraphUser;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;

public class MainActivity extends Activity {    

@Override
/*
 * called when activity is first created
 */
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

/*
 * Create API call to facebook to grab user data and define a 
 * new callback to handle the response
 */
public void GrabFbUserInfo(View view){


    //Request call
    Request request = Request.newMeRequest(session, new Request.GraphUserCallback() {

        @Override
        public void onCompleted(GraphUser user, Response response) {
            //If the response is successful
            if (session == Session.)

        }
    });

}

}

这是包含在 RelativeLayout 中的 activity_main 的 XML:

<com.facebook.widget.LoginButton
    android:id="@+id/fb_login_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="76dp"
    android:contentDescription="@string/loginButton"
    facebook:confirm_logout="false"
    facebook:fetch_user_info="true" />

感谢任何建议!

4

1 回答 1

0

请尝试我的图书馆:https ://github.com/antonkrasov/AndroidSocialNetworks

有了它的帮助,这真的很容易。

mSocialNetworkManager.getFacebookSocialNetwork().requestLogin(new OnLoginCompleteListener() {
    @Override
    public void onLoginSuccess(int socialNetworkID) {
        mSocialNetworkManager.getFacebookSocialNetwork().requestCurrentSocialPerson();
    }

    @Override
    public void onError(int socialNetworkID, String requestID, String errorMessage, Object data) {

    }
});

查看自述文件以获取更多信息,如果您有任何问题,请告诉我。

于 2014-05-18T07:41:17.567 回答