Я реализую функцию входа в Facebook на Android, которая работает нормально на эмуляторе и на устройстве Google Nexus. Однако, похоже, что авторизация отменена пользователем в HTC Desire S, поэтому onComplete()
никогда не вызывается. Единственное отличие, которое я обнаружил, заключается в том, что в HTC есть встроенное приложение для Facebook. Это код, который я использую:
private void Login(){
facebook.authorize(this,new String[] {"email"}, new Facebook.DialogListener() {
@Override
public void onComplete(Bundle values) {
Log.d("Auth","onCompleteCalled");
}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {
Log.d("Auth","Cancelled");
}
});
Сообщение об ошибке приходит из этого раздела кода SDK Facebook:
} else if (resultCode == Activity.RESULT_CANCELED) {
// An Android error occured.
if (data != null) {
Log.d("Facebook-authorize",
"Login failed: " + data.getStringExtra("error"));
mAuthDialogListener.onError(
new DialogError(
data.getStringExtra("error"),
data.getIntExtra("error_code", -1),
data.getStringExtra("failing_url")));
// User pressed the 'back' button.
} else {
Log.d("Facebook-authorize", "Login canceled by user."); //This is the error I get
mAuthDialogListener.onCancel();
}