2016-09-27 1 views
0

Я пытаюсь удалить пользователя из моего ejabberd сервера, но я постоянно получаю следующее сообщение об ошибке: org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: not-allowed - cancelУдаление пользователя из ejabberd сервера вызывает ошибку (пороть)

Я предполагаю, что это что-то делать с пользователем разрешения? Регистрация разрешена для всех, так что это не проблема?

Вот что мой код выглядит следующим образом:

@Override 
protected Boolean doInBackground(String... params) { 

    builder.setUsernameAndPassword(params[0], params[1]); 
    mConnection = new XMPPTCPConnection(builder.build()); 
    try { 
     mConnection.connect(); 
    } catch (SmackException | IOException | XMPPException e) { 
     Log.d(TAG, "Something went wrong when trying to connect"); 
     e.printStackTrace(); 
     return false; 
    } 
    AccountManager manager = AccountManager.getInstance(mConnection); 
    manager.sensitiveOperationOverInsecureConnection(true); 
    try { 
     manager.deleteAccount(); 
    } catch (SmackException.NoResponseException | XMPPException.XMPPErrorException | SmackException.NotConnectedException e) { 
     Log.d(TAG, "Something went wrong when trying delete the account"); 
     e.printStackTrace(); 
     return false; 

    } 
    return true; 

} 

ответ

1

создания учетной записи требуется только подключение, но удаление аккаунта требует логин: вам необходимо войти в систему, прежде чем быть в состоянии удалить учетную запись (т.е. вы не можете не удалять учетной записи, не зная ее пароля). Позвоните по телефону mConnection.connect().login().

Смежные вопросы