3
我很困惑在用戶撤銷權限後重新授權用戶的問題。當用戶撤銷應用程序的權限時,當嘗試在Facebook上發佈內容時會顯示錯誤對話框。但是,authorize()
未被調用。它是我的代碼Android - 當用戶撤銷權限時,Facebook錯誤不會調用授權
public void doAuthentication()
{
// here all your FB authentication related stuff.
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
if(access_token != null) {
facebook.setAccessToken(access_token);
}
if(expires != 0) {
facebook.setAccessExpires(expires);
}
/*
* Only call authorize if the access_token has expired.
*/
if(!facebook.isSessionValid()) {
facebook.authorize(Cats.this, new String[] { "publish_stream", "read_stream", "publish_checkins", "offline_access"}, new DialogListener() {
@Override
public void onComplete(Bundle values)
{
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
什麼這裏是你的問題的問題嗎?您無法將用戶發送回認證流程? – Igy 2012-03-13 10:58:01
是的。一旦用戶撤消權限並嘗試共享/發佈信息,就會出現facebook錯誤對話框,並且不會再次請求權限。 – Hend 2012-03-13 11:03:28
對不起,我對Android SDK不夠熟悉;在一般情況下,應該沒有問題要求用戶重新進行身份驗證(假設他們沒有完全阻止應用程序,並且僅僅刪除了權限),但我不知道android SDK上的身份驗證流程是否足夠了解其原因不會爲你工作 – Igy 2012-03-13 11:06:09