如何添加注销回调Android中的Facebook SDK [英] How to add a logout callback for facebook sdk in android
本文介绍了如何添加注销回调Android中的Facebook SDK的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在我的Android应用程序集成的Facebook SDK。由于手册中描述我加为Facebook的登录回调。但我有,如果用户从Facebook注销更改UI。我在哪里把那个code。我的code为登录名是
/ **
*登录回调Facebook登录
* /
callbackManager = CallbackManager.Factory.create(); LoginManager.getInstance()。registerCallback(callbackManager,
新FacebookCallback< LoginResult>(){ @覆盖
公共无效的onSuccess(LoginResult loginResult){
//调用的updateUI() 使用setData(提供者,脸谱);
loginType = LoginTypes.FB_LOGIN;
isLoggedin = TRUE;
GraphRequest请求= GraphRequest.newMeRequest(
loginResult.getAccessToken(),
新GraphRequest.GraphJSONObjectCallback(){
@覆盖
公共无效onCompleted(
的JSONObject对象,
GraphResponse响应){
//应用code txtName.setText(response.toString());
的updateUI();
}
});
捆绑参数=新包();
parameters.putString(域,ID,姓名,电子邮件);
request.setParameters(参数);
request.executeAsync();
} @覆盖
公共无效onCancel(){
editText_message.setText(登录已取消。);
//应用code
} @覆盖
公共无效onerror的(FacebookException除外){
//应用code
}
});
解决方案
有两种可能的方式:
1),你需要覆盖上创建AccessTokenTracker是这样的:
accessTokenTracker =新AccessTokenTracker(){
@覆盖
保护无效onCurrentAccessTokenChanged(的accessToken oldAccessToken,
的accessToken currentAccessToken){
如果(currentAccessToken == NULL){
//写你的code在这里做什么,当用户注销
}
}
}
2)你可以调用LoginManager.logOut()注销用户
希望这将帮助你:)
I have integrated Facebook sdk in my android app. As described in the manual I added the login callback for facebook. But I have to change the UI if the user logs out from facebook. Where do I put that code. My code for login is
/**
* Login Callback for facebook login
*/
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
//Call updateUI()
setData("provider","facebook");
loginType = LoginTypes.FB_LOGIN;
isLoggedin = true;
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
// Application code
txtName.setText(response.toString());
updateUI();
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email");
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
editText_message.setText("Login Cancelled.");
// App code
}
@Override
public void onError(FacebookException exception) {
// App code
}
});
解决方案
there are 2 possible ways:
1) you need to overwrite in on create AccessTokenTracker like this:
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken,
AccessToken currentAccessToken) {
if (currentAccessToken == null) {
//write your code here what to do when user logout
}
}
}
2) You can call LoginManager.logOut() to log out the user
hope this will help you :)
这篇关于如何添加注销回调Android中的Facebook SDK的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文