我試圖使新的PhoneAccount使用我的實施ConnectionService。在文檔中說我需要用TelecomManager註冊一個新的PhoneAccount,然後在我的手機應用程序的設置中選擇它。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);
正如你可以看到,它創建了一個新的組件名稱是對我實施ConnectionService的點,然後創建一個新的PhoneAccountHandle其中我公司供應的組件名稱和唯一的帳戶名。然後,我在PhoneAccount buildes中提供PhoneAccountHandle以及標籤(名稱?),以創建新的PhoneAccount。最後,我在telecomManager中註冊帳戶。
當我打開手機應用程序時,沒有任何改變。我看不到我可以改變PhoneAccount的地方......任何想法?
謝謝!
終於搞定了。仿真器似乎沒有提供選擇要使用的電話帳戶的方式。使用Xperia Z3,我可以在Settings> Call> Calling Accounts下找到它。請注意,您需要在構建器中提供一項功能(因爲默認值爲none,並且該帳戶不會顯示)。 – ProfessorChaos
更新:可以在模擬器中更改以及TelecomManager.ACTION_CHANGE_PHONE_ACCOUNTS意圖。 – ProfessorChaos
使用電話需要哪些功能? –