Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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
Android facebook登录花费太多时间_Android_Facebook Android Sdk - Fatal编程技术网

Android facebook登录花费太多时间

Android facebook登录花费太多时间,android,facebook-android-sdk,Android,Facebook Android Sdk,我正在应用程序中使用Facebook本机登录身份验证。当用户按“登录”按钮时,登录后我想转到下一个活动。但登录后,按钮变为注销并在那里停留一段时间,大约20秒后进入下一个活动 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layou

我正在应用程序中使用Facebook本机登录身份验证。当用户按“登录”按钮时,登录后我想转到下一个
活动
。但登录后,按钮变为注销并在那里停留一段时间,大约20秒后进入下一个活动

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.activity_main, container, false);

    LoginButton authButton = (LoginButton) view
            .findViewById(R.id.authButton);
    authButton.setFragment(this);
    authButton.setReadPermissions(Arrays.asList("email")); // permissions
    internalStorageManipulator = new InternalStorageManipulator(
            getActivity());

    return view;
}

private Session.StatusCallback callback = new Session.StatusCallback() {
    @Override
    public void call(Session session, SessionState state,
            Exception exception) {
        if(!IsStateOpened)
        onSessionStateChange(session, state, exception);
    }
};

private void onSessionStateChange(Session session, SessionState state,
        Exception exception) {
    if (state.isOpened()) {
        Request.executeMeRequestAsync(session,
                new Request.GraphUserCallback() {

                    // callback after Graph API response with user
                    // object
                    @Override
                    public void onCompleted(GraphUser user,
                            Response response) {
                        if (user != null && !IsStateOpened) {
                            try {
                                internalStorageManipulator
                                        .setLoginState(true);
                                Dashboard dashboard = new Dashboard(getActivity());
                                internalStorageManipulator.setUserID(user.getId());
                                internalStorageManipulator.setLoginState(true);
                                internalStorageManipulator.setGCMID("");
//                                  getAsyncProfilePicture();

                                dashboard.LoginUser(user.getId(), user.asMap().get("email").toString(),user.getUsername(), "",
                                        (IHttpRequestCallBack) c);

                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        }
                    }
                });
    } else if (state.isClosed()) {
        Log.i(LOGIN_TAG, "Logged out...");
    }
}

@Override
public void onResume() {
    super.onResume();

    Session session = Session.getActiveSession();
    if (!internalStorageManipulator.getLoginState())
        if (session != null && (session.isOpened() || session.isClosed())) {
            onSessionStateChange(session, session.getState(), null);
        }
    uiHelper.onResume();
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    uiHelper.onActivityResult(requestCode, resultCode, data);
}

要避免这种情况,请使用活动的onpause()、onResume()和onActivityResult()方法。在create()方法中创建一个对话框。在这些方法中隐藏和显示。

使用facebook服务器进行身份验证可能需要一些时间。你的设备连接到的互联网速度够快吗?是的,够快了。请告诉我,在按下“登录”后,我可以用什么方式移动到下一个活动。你可以做的一件事是,在后台服务中实现facebook进程,并在用户单击“登录”按钮后立即移动到下一个活动。