Android 以编程方式创建 Sip 帐户

Posted

技术标签:

【中文标题】Android 以编程方式创建 Sip 帐户【英文标题】:Android Create Sip Account Programmatically 【发布时间】:2014-01-26 21:31:09 【问题描述】:

在我的应用程序中,我希望有一个 Activity 使用户能够在字段中添加他的 SIP 帐户参数。 我不希望他们去设置->通话->互联网通话设置->添加帐户->添加

我使用以下代码创建了具有活动的帐户:

SipManager mSipManager = null;

    if(mSipManager == null) 
        mSipManager = SipManager.newInstance(this);
    

    android.provider.Settings.System.putInt(context.getContentResolver(), android.provider.Settings.System.s , 0)
    SipProfile mSipProfile = null;
    SipManager manager = SipManager.newInstance(getBaseContext());

    SipProfile.Builder builder;
    try 
        builder = new SipProfile.Builder("XXXXX", "sip.linphone.org");
        builder.setPassword("XXX");
        mSipProfile = builder.build();
        manager.open(mSipProfile);
        //manager.register(mSipProfile, 30, MyActivity.this);
     catch (Exception e) 
        // TODO Auto-generated catch block
        e.printStackTrace();
    

但是账号绑定了应用,当我删除应用时,它会删除账号。我希望它独立于应用程序。

【问题讨论】:

您可以将该代码放入Service 并从您的Activity 管理服务 @Misha 你找到解决问题的方法了吗? @Vahid 不幸的是,没有 【参考方案1】:

为什么不启动系统 sip 设置活动,他们不必在系统中导航,但可以将帐户添加到系统。

if (SipManager.isVoipSupported(this) && SipManager.isApiSupported(this))
   // SIP is supported, let's go!
   Intent intent = new Intent();
   intent.setAction("android.intent.action.MAIN");
   intent.setComponent(ComponentName.unflattenFromString("com.android.phone/.sip.SipSettings"));
   startActivity(intent); 

【讨论】:

例如,如果您正在编写自己的 SIP 应用程序并需要输入的凭据(包括密码)以随后通过您自己的 SIP 堆栈手动注册帐户,则无济于事。

以上是关于Android 以编程方式创建 Sip 帐户的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 2.2 中以编程方式启动“添加帐户”活动

以编程方式从 iCloud 帐户获取图像到 Android 应用程序

以编程方式清除 Android 上的 Facebook SDK 4.0 会话

Appium:如何在开始测试运行 appium-testng 之前使用 java 在 aws 设备场设备上以编程方式创建 google 帐户

使用 Javascript 以编程方式创建 Azure 存储帐户的最佳选择是啥?

WooCommerce 以编程方式/通过函数创建帐户