Android Создать учетную запись Sip Programmatically

В моем приложении я хочу иметь одно действие, которое позволяет пользователю добавлять свои параметры учетной записи 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();
    }

Но учетная запись привязана к приложению, а при удалении приложения она удаляет учетную запись. Я хочу, чтобы он не зависел от приложения.

Ответ 1

Почему бы не начать работу с настройками системного sip, и им не нужно перемещаться по системе, но может добавить учетную запись в систему.

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