Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook错误:在android应用程序登录期间_Android - Fatal编程技术网

Facebook错误:在android应用程序登录期间

Facebook错误:在android应用程序登录期间,android,Android,使用Facebook sdk,在Facebook登录屏幕中,如果用户输入凭据,则应用程序将显示Facebook错误消息。如何通过在此处成功登录并放置login()代码来修复此问题 您正在使用旧的facebook sdk。因此,请使用最新的facebook sdk。要获取最新的facebook sdk,请点击此链接,尝试此实用工具,它会帮助您。它不是完美的,但可以做一些事情,onActivityResult应该小心使用,它必须在活动“onActivityResult()和super.onActiv

使用Facebook sdk,在Facebook登录屏幕中,如果用户输入凭据,则应用程序将显示Facebook错误消息。如何通过在此处成功登录并放置login()代码来修复此问题


您正在使用旧的facebook sdk。因此,请使用最新的facebook sdk。要获取最新的facebook sdk,请点击此链接,尝试此实用工具,它会帮助您。它不是完美的,但可以做一些事情,onActivityResult应该小心使用,它必须在活动“onActivityResult()和super.onActivityResult()下面调用:


如果您愿意,您可以使用此库:

我正在使用Facebook sdk 3.0.2did您是否生成Facebook哈希键?您的Facebook api键将在您创建应用程序时生成。。。您是否使用开放式ssl创建HashMap密钥??
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();

                    }

                });
    }
public final class FacebookUtil {
public static void postToFacebook(final Activity context, final String name, final String caption,
                                  final String description, final String link, final String _img) {
    Session s = Session.getActiveSession();
    if (s != null && s.isOpened()) {
        post(context, name, caption, description, link, _img);
    } else {
        Session.openActiveSession(context, true, new Session.StatusCallback() {

            @Override
            public void call(Session _session, SessionState _state, Exception _exception) {
                if (_session.isOpened()) {
                    post(context, name, caption, description, link, _img);
                }
            }
        });
    }
}

private static void post(Context context, String name, String caption, String description, String link,
                         String imageUrl) {
    Bundle params = new Bundle();
    params.putString("name", name);
    params.putString("caption", caption);
    params.putString("description", description);
    params.putString("link", link);
    if (imageUrl != null) {
        params.putString("picture", imageUrl);
    }
    new WebDialog.FeedDialogBuilder(context, Session.getActiveSession(), params).build().show();
}

public static void login(Activity _context, Session.StatusCallback _callback) {
    Session.openActiveSession(_context, true, _callback);
}

public static void logout() {
    Session session = Session.getActiveSession();
    if (session != null) {
        session.closeAndClearTokenInformation();
    }
}

public static boolean isLoggedIn() {
    Session session = Session.getActiveSession();
    return (session != null && session.getAccessToken() != null && session.getAccessToken().length() > 1);
}

public static void askMe(Request.GraphUserCallback _callback) {
    Session session = Session.getActiveSession();
    if (session != null) {
        Request.executeMeRequestAsync(session, _callback);
    }
}

/**
 * Don't forget to added this function to onActivityResult() of your activities ever, otherwise
 * you can not finish your facebook successfully.
 */
public static void onActivityResult(Activity _activity, int _requestCode, int _resultCode, Intent _data) {
    Session.getActiveSession().onActivityResult(_activity, _requestCode, _resultCode, _data);
}
}