У меня есть активность под названием StarterActivity
, которая является активностью запуска моего приложения для Android. Я предоставил пункт меню выхода из системы, при нажатии которого я отменяю все разрешения приложений. Я убедился, что все разрешения отзываются, и мое приложение больше не указано в https://www.facebook.com/settings?tab=applications
Однако токен доступа не очищается.
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 Intent при выходе из системы.
я добавил
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();
Также делает то же самое внизу. Спасибо за чаевые. - person Aniket Thakur   schedule 09.08.2015