重新启动android应用程序后如何保持fb sdk登录

重新启动android应用程序后如何保持fb sdk登录,android,facebook,facebook-graph-api,Android,Facebook,Facebook Graph Api,我正在安卓系统中创建facebook登录页面,登录时我获取用户详细信息,但当我关闭应用程序并重新启动时,我的所有用户详细信息都消失了,再次启动登录活动,但fb要求注销。我的问题是我想保持未登录状态,然后注销。我的代码是 FacebookCallback<LoginResult> mCallBack=new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult

我正在安卓系统中创建facebook登录页面,登录时我获取用户详细信息,但当我关闭应用程序并重新启动时,我的所有用户详细信息都消失了,再次启动登录活动,但fb要求注销。我的问题是我想保持未登录状态,然后注销。我的代码是

      FacebookCallback<LoginResult> mCallBack=new 
FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {


    // Facebook Email address
   GraphRequest request = GraphRequest.newMeRequest(
            loginResult.getAccessToken(),
            new GraphRequest.GraphJSONObjectCallback() {

                public void onCompleted(
                        JSONObject object,
                        GraphResponse response) {
                    Log.v("LoginActivity Response ", response.toString());

                  try {


                        Name = object.getString("name");
                      Email = object.getString("email");
                     // Gender=object.getString("gender");
                      BD=object.getString("link");




           profilePicUrl =   
     object.getJSONObject("picture").getJSONObject("data").getString("url");

            //    tv1.setText(profilePicUrl);
          shared prefernce
                      SharedPreferences sharedPref = 
    PreferenceManager.getDefaultSharedPreferences(userLogin.this);
                      //now get Editor
                      SharedPreferences.Editor editor = sharedPref.edit();
                      //put your value
                      editor.putString("name1",Name);
                      editor.putString("mail2", Email);
                      editor.putString("picture", profilePicUrl);
                      //commits your edits
                      editor.commit();

                      Intent returnIntent = new 
    Intent(userLogin.this,tabLayout.class);
                      returnIntent.putExtra("name1",Name);
                      returnIntent.putExtra("mail2", Email);
                      returnIntent.putExtra("picture", profilePicUrl);

                      startActivity(returnIntent);




                      //    finish();

                    }
                    catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            });


    Bundle parameters = new Bundle();

    parameters.putString("fields", 
   "id,name,link,email,picture.type(large)");
    request.setParameters(parameters);
    request.executeAsync();




}

@Override
public void onCancel() {

}

@Override
public void onError(FacebookException error) {

}
};
    loginButton.registerCallback(callbackManager,mCallBack);

}
facebook回调mCallBack=new
FacebookCallback(){
@凌驾
成功时公共无效(LoginResult LoginResult){
//Facebook电子邮件地址
GraphRequest请求=GraphRequest.newmereRequest(
loginResult.getAccessToken(),
新建GraphRequest.GraphJSONObjectCallback(){
公共空间未完成(
JSONObject对象,
GraphResponse(反应){
Log.v(“LoginActivity响应”,Response.toString());
试一试{
Name=object.getString(“Name”);
Email=object.getString(“Email”);
//性别=object.getString(“性别”);
BD=object.getString(“链接”);
profilePicUrl=
object.getJSONObject(“图片”).getJSONObject(“数据”).getString(“url”);
//tv1.setText(profilePicUrl);
共享优先权
SharedPreferences sharedPref=
PreferenceManager.getDefaultSharedReferences(userLogin.this);
//现在去找编辑
SharedPreferences.Editor=sharedPref.edit();
//把你的价值
编辑器.putString(“name1”,Name);
editor.putString(“mail2”,Email);
编辑器.putString(“图片”,profilePicUrl);
//提交您的编辑
commit();
Intent returnIntent=new
意图(userLogin.this、tabLayout.class);
returnIntent.putExtra(“名称1”,名称);
returnIntent.putExtra(“mail2”,电子邮件);
returnIntent.putExtra(“图片”,profilePicUrl);
星触觉(返回意图);
//完成();
}
捕获(JSONException e){
e、 printStackTrace();
}
}
});
Bundle参数=新Bundle();
parameters.putString(“字段”,
“id、姓名、链接、电子邮件、图片。键入(大)”;
请求。设置参数(参数);
request.executeAsync();
}
@凌驾
公开作废{
}
@凌驾
public void onError(facebook异常错误){
}
};
registerCallback(callbackManager,mCallBack);
}
////检查是否

if(AccessToken.getCurrentAccessToken() == null){// AccessToken is a class of fb sdk
     // try to login with facebook
     //show facebook login
}else{
  // get your data from Shared preferences
  // move to next activity
}

检查是否

if(AccessToken.getCurrentAccessToken() == null){// AccessToken is a class of fb sdk
     // try to login with facebook
     //show facebook login
}else{
  // get your data from Shared preferences
  // move to next activity
}

LoginManager.getInstance().registerCallback(callbackManager,new FacebookCallback()){ @凌驾 成功时公共无效(LoginResult LoginResult){

//按此方式编写代码,然后就可以工作了。实际上,Facebook SDK会在您登录后将您的会话保存在内存中,因此在您卸载或从帐户中删除您的应用程序之前,它不会注销。希望有帮助。

LoginManager.getInstance().registerCallback(callbackManager,new FacebookCallback()){ @凌驾 成功时公共无效(LoginResult LoginResult){


//按此方式编写代码,然后它就会工作。实际上,Facebook SDK会在您登录后将您的会话保存在内存中,因此在您卸载或从您的帐户中删除应用程序之前,它不会注销。希望能有所帮助。

谢谢,伙计……它工作得很好……您节省了我的时间:)谢谢,伙计……它工作得很好……您节省了我的时间:)
                    if (AccessToken.getCurrentAccessToken() != null) {
                        GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(),
                                new GraphRequest.GraphJSONObjectCallback() {
                                    @Override
                                    public void onCompleted(final JSONObject object, GraphResponse response) {

                                        try {


                                            //add your name/email/profile picture url parsing and sharedPreference code here


                                        } catch (JSONException e) {
                                            Toast.makeText(context, "" + "Unable to log In", Toast.LENGTH_SHORT).show();
                                            e.printStackTrace();
                                        }
                                    }

                                });
                        Bundle parameters = new Bundle();
                        parameters.putString("fields", "id,name,link,email,picture.type(large)");
                        request.setParameters(parameters);
                        request.executeAsync();
                    } else {
                    }

                }

                @Override
                public void onCancel() {

                }

                @Override
                public void onError(FacebookException error) {

                }
            }

    );