Я пытаюсь создать новый PhoneAccount, чтобы использовать мою реализацию ConnectionService. В документации говорится, что мне нужно зарегистрировать новый PhoneAccount с TelecomManager, а затем выбрать его в настройках моего телефона-приложения.Android: зарегистрируйтесь новый PhoneAccount для телекоммуникации
Вот мой код:
TelecomManager telecomManager = (TelecomManager) getSystemService(Context.TELECOM_SERVICE);
ComponentName componentName = newComponentName("se.example.connectionservicestandalonetest", "se.example.connectionservicestandalonetest.MyConnectionService");
PhoneAccountHandle phoneAccountHandle = new PhoneAccountHandle(componentName, "Admin");
PhoneAccount phoneAccount = PhoneAccount.builder(phoneAccountHandle, "Admin").build();
telecomManager.registerPhoneAccount(phoneAccount);
Как вы можете видеть, он создает новый ComponentName, который указывает в направлении моей реализации ConnectionService, а затем создает новый PhoneAccountHandle где я поставку ComponentName и уникальный имя аккаунта. Затем я создаю PhoneAccountHandle в сборках PhoneAccount, а также метку (имя?) Для создания нового PhoneAccount. Наконец, я зарегистрирую учетную запись в telecomManager.
Когда я открываю приложение для телефона, ничего не изменилось. Я не вижу, где бы я мог изменить PhoneAccount ... Любые идеи?
Спасибо!
И, наконец, получил его на работу. Похоже, что эмулятор не предоставляет способ использования учетной записи телефона. Используя Xperia Z3, я смог найти его в разделе «Настройки»> «Вызов»> «Учетные записи».Обратите внимание, что вам необходимо предоставить возможность (поскольку по умолчанию это ни один, и учетная запись не будет отображаться) в построителе. – ProfessorChaos
Обновление: в эмуляторе можно также изменить намерение TelecomManager.ACTION_CHANGE_PHONE_ACCOUNTS. – ProfessorChaos
Какие возможности необходимы для работы телефона? –