Java 使用facebook android登录

Java 使用facebook android登录,java,android,facebook-android-sdk,Java,Android,Facebook Android Sdk,我正在使用facebook创建登录。用户登录facebook只需1次,我需要获得它的facebook用户ID 下面是我正在使用的代码: // Login with facebook public void loginFB(View view) { System.out.println("started"); facebook = new Facebook(kAppId); facebook.authorize(this, new Dia

我正在使用facebook创建登录。用户登录facebook只需1次,我需要获得它的facebook用户ID

下面是我正在使用的代码:

// Login with facebook
    public void loginFB(View view) {

        System.out.println("started");
        facebook = new Facebook(kAppId);

        facebook.authorize(this, new DialogListener() {

            @Override
            public void onComplete(Bundle values) {
                System.out.println("onComplete");

                new Thread(new Runnable() {
                    public void run() {
                        JSONObject me = null;
                        try {
                            me = new JSONObject(facebook.request("me"));
                        } catch (MalformedURLException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        try {
                            System.out.println("Login with fb");
//here i should get it's user id                            
String id = me.getString("id");
                            System.out.println("id = " + id);                                                       



                        } catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    }
                }).start();

            }


            @Override
            public void onFacebookError(FacebookError error) {
                error.getMessage();
                System.out.println("onFacebookError");
            }

            @Override
            public void onError(DialogError e) {
                e.getMessage();
                System.out.println("DialogError");
            }

            @Override
            public void onCancel() {
                System.out.println("onCancel");
            }

        });

    }

    @Override  
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
            facebook.authorizeCallback(requestCode, resultCode, data);  
    }  
因此,我在回调此方法时遇到一个异常:

        @Override
        public void onError(DialogError e) {
            e.getMessage();
            System.out.println("DialogError");
        }
例外情况是:

com.facebook.android.DialogError: The connection to the server timed out.
所以我应该更改代码中的某些内容,否则会出现其他问题

基本上,我需要用户登录一次,当他下载一个应用程序,我需要得到他的用户id

谢谢

编辑:

我已经向互联网添加了权限。所以问题出在我的互联网上。无法访问Facebook

但现在的问题是: 在这方面:

String id = me.getString("id");
me返回null。

您是否修改了您的AndroidManifest.xml以允许应用程序访问internet

<uses-permission android:name="android.permission.INTERNET"/>
/me将返回一个JSON对象

JSONObject me =  Util.parseJson((facebook.request("me"));