1

ユーザーが資格情報を入力すると、Facebookのログイン画面でFacebook SDKを操作し、Facebookのエラートーストメッセージを表示するアプリ.login()コードを配置してログインを成功させることで、この問題を修正するにはどうすればよいですか.

protected void loginToFacebook() {
    // TODO Auto-generated method stub
    mPrefs = getPreferences(MODE_PRIVATE);
    String access_token = mPrefs.getString("access_token", null);
    long expires = mPrefs.getLong("access_expires", 0);
    if (access_token != null) {
        facebook.setAccessToken(access_token);
    }

    if (expires != 0) {
        facebook.setAccessExpires(expires);
    }
    if (!facebook.isSessionValid()) {
        facebook.authorize(this,
                new String[] { "email", "publish_stream" },
                new DialogListener() {

                    @Override
                    public void onCancel() {
                        // Function to handle cancel event
                        Toast.makeText(getApplicationContext(), "Login cancel", Toast.LENGTH_LONG).show();
                    }

                    @Override
                    public void onComplete(Bundle values) {
                        // Function to handle complete event
                        // Edit Preferences and update facebook acess_token
                        SharedPreferences.Editor editor = mPrefs.edit();
                        editor.putString("access_token",
                                facebook.getAccessToken());
                        editor.putLong("access_expires",
                                facebook.getAccessExpires());
                        editor.commit();
                    }

                    @Override
                    public void onError(DialogError error) {
                        // Function to handle error
                        Toast.makeText(getApplicationContext(), "error in login", Toast.LENGTH_LONG).show();
                    }

                    @Override
                    public void onFacebookError(FacebookError fberror) {
                        // Function to handle Facebook errors
                        Toast.makeText(getApplicationContext(), "Facebook error", Toast.LENGTH_LONG).show();

                    }

                });
    }
4

2 に答える 2