gpt4 book ai didi

android - Facebook SDK 4+ 注销无法正常工作

转载 作者:行者123 更新时间:2023-12-05 07:47:01 24 4
gpt4 key购买 nike

我正在使用 Facebook SDK 4+,我的问题是当我使用

 FacebookSdk.sdkInitialize(getApplicationContext());
LoginManager.getInstance().logOut();

要从我的应用程序注销,它无法正常工作。我使用登录按钮返回到我的目标 Activity 。当我按下按钮时,我未经授权再次进入应用程序。我已经安装了 native Facebook 应用程序。没有这个应用程序一切正常。那么我做错了什么或者我遗漏了什么。

Api Key 可以正常工作。

我的登录实现是这样的:

private ImageButton loginButton;
private LoginButton fbbtn;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
}

@Override
protected void onResume() {
super.onResume();
callbackManager= CallbackManager.Factory.create();
fbbtn= (LoginButton)findViewById(R.id.fb_button);
fbbtn.setReadPermissions("public_profile", "email","user_friends");
loginButton = (ImageButton) findViewById(R.id.login_btn);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progressDialog = new ProgressDialog(LoginActivity.this);
progressDialog.setMessage("Loading...");
progressDialog.show();
fbbtn.performClick();
fbbtn.setPressed(true);
fbbtn.invalidate();
fbbtn.registerCallback(callbackManager, mCallBack);
fbbtn.setPressed(false);
fbbtn.invalidate();
}
});
}

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

private FacebookCallback<LoginResult> mCallBack = new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
progressDialog.dismiss();
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
app.setUser(object);
}
});

Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender");
request.setParameters(parameters);
request.executeAsync();
}

@Override
public void onCancel() {
progressDialog.dismiss();
}

@Override
public void onError(FacebookException e) {
progressDialog.dismiss();
}
};

最佳答案

要更改用户个人资料,您需要在您的 FB 应用程序(或者如果您使用的是 Chrome 自定义标签,则在 Chrome 中)中注销

关于android - Facebook SDK 4+ 注销无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40264566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com