2016-08-10 9 views
-1

誰かがアカウントを作成してログインする方法を教えてもらえますか(私はOpenfireでアカウントを作成しています)誰かのアカウントにログインして新しいアカウントを作成する必要がありますが、新しいアカウントにログインする方法は?私はこれをどうやって行うのか分かりません。私を助けてください!!!新しいアカウントを作成するSmack

これは私のコードです:

connection.login(Usrname, Password); 
     AccountManager accountManager = AccountManager.getInstance(connection); 
     //Log.e(tag, String.valueOf(accountManager.supportsAccountCreation())); 
     accountManager.createAccount(Usrname1, Password1); 
    //How to log into created account here? 

P.S.設定前に私の質問に間違っていることを教えてください。-1

ありがとうございます。

編集 私のコードに関連して

public void connectionInitialization(){ 

     new connect().execute(); 
    } 
    public class connect extends AsyncTask<Void,Void,Void>{ 
     @Override 
     protected Void doInBackground(Void... voids) { 
      try { 
       XMPPTCPConnectionConfiguration.Builder connectionConfiguration = XMPPTCPConnectionConfiguration.builder(); 
       //connectionConfiguration.setUsernameAndPassword(, "12345678"); 
       connectionConfiguration.setHost("192.168.2.106"); 
       connectionConfiguration.setServiceName("192.168.2.106"); 
       connectionConfiguration.setConnectTimeout(12000); 
       connectionConfiguration.setSecurityMode(XMPPTCPConnectionConfiguration.SecurityMode.disabled); 
       connectionConfiguration.setPort(5222); 
       connectionConfiguration.setResource("test"); 
       connectionConfiguration.setDebuggerEnabled(true); 
       connection = new XMPPTCPConnection(connectionConfiguration.build()); 
       XMPPTCPConnectionListener xmpptcpConnectionListener = new XMPPTCPConnectionListener(); 
       connection.addConnectionListener(xmpptcpConnectionListener); 
       Log.e(tag, "connecting started"); 
       connection.connect(); 
       AccountManager.getInstance(connection).sensitiveOperationOverInsecureConnection(true); 
       Map<String,String> attributes = new HashMap<String, String>(2); 
       attributes.put("name", "Donald Duck"); 
       attributes.put("email", "[email protected]"); 

       AccountManager.getInstance(connection).createAccount("kagyn", "12345678", attributes); 
       AccountManager.getInstance(connection).sensitiveOperationOverInsecureConnection(false); 
       Log.e(tag, "Success"); 
      }catch (XMPPException e){ 
       Log.e(tag,"Connect_XMPPException " + e.getMessage()); 
      }catch (SmackException | IOException e){ 
       Log.e(tag, "Connect_SmackOrIOException " + e.getMessage()); 
      } 
      return null; 
     } 
    } 
    public class XMPPTCPConnectionListener implements ConnectionListener{ 
     @Override 
     public void connected(XMPPConnection connection1) { 
      Log.e(tag,"connected"); 
     } 

     @Override 
     public void authenticated(XMPPConnection connection, boolean resumed) { 
      Log.e(tag,"authenticated"); 
     } 

     @Override 
     public void connectionClosed() { 
      Log.e(tag,"connectionClosed"); 
     } 

     @Override 
     public void connectionClosedOnError(Exception e) { 
      Log.e(tag,"connectionClosedOnError " + e.getMessage()); 
     } 

     @Override 
     public void reconnectionSuccessful() { 
      Log.e(tag, "reconnectionSuccessful"); 
     } 

     @Override 
     public void reconnectingIn(int seconds) { 
      Log.e(tag,"reconnectingIn"); 
     } 

     @Override 
     public void reconnectionFailed(Exception e) { 
      Log.e(tag, "reconnectionFailed " + e.getMessage()); 
     } 
    } 

答えて

1

あなたは2段階あります

  1. サーバー(Openfire)
  2. ユーザーでログインへの接続を。

ログインしたユーザーはアカウントを作成できません。

ログインを避けるだけで(=>接続してください)。

コード新しいアカウントを作成するためには次のようになります:

//after connection.connect(); and before connection.login(Usrname1.toLowerCase(),Password1); 
AccountManager.getInstance(connection).sensitiveOperationOverInsecureConnection(true); 
Map<String,String> attributes = new HashMap<String, String>(2); 
attributes.put("name", "Donald Duck"); 
attributes.put("email", "[email protected]"); 

AccountManager.getInstance(connection).createAccount(Usrname1.toLowerCase(),Password1, attributes); 
         AccountManager.getInstance(connection).sensitiveOperationOverInsecureConnection(false); 
+0

あなたは私が悪い要求がエラーを修正する必要はありませんか? – Steve

+0

あなたの接続で名前とパスワードを設定していない場合、それは動作します(動作しているコードです)。もちろん、createAccountの前に何か問題があった可能性があります。 – MrPk

+0

私のコードを追加しました。どうぞご覧ください。そして、私は悪い要求を修正するエラーを持っています – Steve

関連する問題