2012-03-21 8 views
5

SipProfile.Builderクラスを使用してsipプロファイルを作成できます。私はそれを行うには以下のコードスニペットを使用: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(); 
       } 

それは設定/ callsettings /インターネット通話の設定でSIPアカウントとして表示されます。 問題は私がプライマリアカウントにすることができませんでした。プライマリアカウントとしてはどうすればいいですか?

+0

"プライマリアカウント"とはどういう意味ですか? – hovanessyan

+0

電話で手動でsipアカウントを追加しているときに、「これを主アカウントにする」というオプションがあります。だから、私はそれをプログラムで作ることができます。 –

答えて

2

この情報はアカウントベース(個人、プライマリ電話番号、プライマリSIPアカウントなどのプライマリ電子メールアドレス)なので、電話の連絡先に保存されています。

データごと、アカウントごとに設定されているようです(このタイプのデータ(email/phone/sip-addr)はプライマリとして設定します)。これは、それが属する生 接触のために、その種の主要なエントリであるかどうか: あなたはIS_PRIMARYまたはIS_SUPER_PRIMARY

IS_PRIMARYを使用して連絡先のプライマリとしてデータを設定することができます。

使用するデータはContactsContract.CommonDataKinds.SipAddressです。それが出発点として役立つことを願っています。