2012-03-21 12 views
5

Podría construir un perfil de sorbo utilizando la clase SipProfile.Builder. Usé siguiente fragmento de código para hacerlo:Sip Profile Building: Android

if (SipManager.isApiSupported(MyActivity.this)&& SipManager.isVoipSupported(MyActivity.this)) { 

SipManager manager=SipManager.newInstance(this); 
    SipProfile.Builder builder;try { 
           builder = new Builder(userName,domainName); 
          } catch (ParseException e) { 
           // TODO Auto-generated catch block 
           e.printStackTrace(); 
          }               manager = SipManager.newInstance(MyActivity.this); 
          builder.setPassword(password); 

          profile = builder.build(); 
          try { 
           manager.open(profile); 
          } catch (SipException e) { 


       // TODO Auto-generated catch block 
          e.printStackTrace(); 
         } 
         try { 
          manager.register(profile, 30, MyActivity.this); 
         } catch (SipException e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
         } 
         Toast.makeText(MyActivity.this, "created", 
           Toast.LENGTH_LONG).show(); 

         } else { 
        Toast.makeText(MyActivity.this, "Not Supported", 
          Toast.LENGTH_LONG).show(); 
       } 

Se muestra como una cuenta SIP en los ajustes/callsettings/ajustes de llamadas por Internet. El problema es que no pude hacerlo como cuenta principal. ¿Cómo puedo hacerlo como cuenta principal?

+0

¿Puedes explicar a qué te refieres con "cuenta principal"? – hovanessyan

+0

mientras agrega la cuenta de sip manualmente en el teléfono, hay una opción "Hacer esto como cuenta principal". Entonces, ¿cómo puedo hacerlo programáticamente? –

Respuesta

2

Esta información se basa en la cuenta (dirección de correo electrónico principal para la persona, número de teléfono principal, cuenta SIP principal, etc.) por lo que se almacena en el libro de contactos del teléfono.

Me parece que es una opción configurada por datos, por cuenta (por ejemplo: este tipo de datos (correo electrónico/teléfono/sip-addr) lo configuran como primario). Puede establecer datos como primario para un contacto mediante IS_PRIMARY o IS_SUPER_PRIMARY

IS_PRIMARY: Si esta es la entrada principal de su tipo para la prima contacto al que pertenece.

La información que debe usar es ContactsContract.CommonDataKinds.SipAddress. Espero que sea útil como punto de partida.