我有一個活動叫做StarterActivity
這是我的android應用程序的啓動器活動。我已經提供了一個註銷菜單選項,其中我撤消了所有的應用程序權限。我驗證了所有權限都已被撤銷,並且我的應用不再列在https://www.facebook.com/settings?tab=applications撤消android應用程序的權限不清除Facebook訪問令牌
但是,訪問令牌未被清除。
switch(item.getItemId())
{
case R.id.action_logout:
GraphRequest delPermRequest = new GraphRequest(AccessToken.getCurrentAccessToken(), "/{user-id}/permissions/", null, HttpMethod.DELETE, new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
if(graphResponse!=null){
FacebookRequestError error =graphResponse.getError();
if(error!=null){
Log.e(TAG, error.toString());
}else {
finish();
}
}
}
});
Log.d(TAG,"Executing revoke permissions with graph path" + delPermRequest.getGraphPath());
delPermRequest.executeAsync();
break;
}
我想再次重新啓動我的StarterActivity意向上登出。
我清理權限後添加
startActivity(new Intent(getApplicationContext(),StarterActivity.class));
。但是AccessToken.getCurrentAccessToken()
或Profile.getCurrentProfile()
都不爲空。也許兌現?
我也試過
AccessTokenTracker accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(
AccessToken oldAccessToken,
AccessToken currentAccessToken) {
Log.d(TAG,"Access token changed");
if (currentAccessToken == null){
//User logged out
startActivity(new Intent(getApplicationContext(),StarterActivity.class));
}
}
};
但他們都不工作。訪問令牌未被清除。如果兌現數據,我怎麼能使這些數據無效?我希望它能夠清除撤銷權限?還是有更好的方式來註銷?
我正在使用SDK 4.x.在燙髮的更多細節 - https://developers.facebook.com/docs/graph-api/reference/user/permissions
您是否試過用這種方式註銷: LoginManager.getInstance()。logOut(); – sider
是的,顯然我們必須手動設置配置文件和標記爲空。 'LoginManager.getInstance()。logOut();'也在下面做同樣的事情。謝謝你的提示。 –