Ich versuche, eine neue PhoneAccount zu machen, um meine Implementierung von ConnectionService zu verwenden. In der Dokumentation heißt es, ich muss einen neuen PhoneAccount bei TelecomManager registrieren und ihn dann in den Einstellungen meiner Telefon-App auswählen.Android: Registrierung neuer PhoneAccount für Telekom
Hier ist mein Code:
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);
Wie Sie sehen können, erstellt es einen neuen Component, die auf meine Implementierung von Connection Punkte, dann eine neue PhoneAccountHandle schafft, wo ich die Component und einen eindeutigen Kontonamen angeben. Ich stelle dann das PhoneAccountHandle in den PhoneAccount buildes sowie label (ein Name?), Um ein neues PhoneAccount zu erstellen. Zuletzt registriere ich das Konto im telecomManager.
Wenn ich die Telefon-App öffne, hat sich nichts geändert. Ich sehe nicht, wo ich den PhoneAccount möglicherweise ändern könnte ... Irgendwelche Ideen?
Dank!
Schließlich hat es funktioniert. Es scheint, als ob der Emulator keine Möglichkeit bietet, zu wählen, welches Telefonkonto verwendet werden soll. Mit einem Xperia Z3 konnte ich es unter Einstellungen> Anruf> Anrufende Accounts finden.Beachten Sie, dass Sie im Builder eine Funktion bereitstellen müssen (da der Standardwert keine ist und das Konto daher nicht angezeigt wird). – ProfessorChaos
Update: Es ist möglich, im Emulator auch mit der Absicht TelecomManager.ACTION_CHANGE_PHONE_ACCOUNTS zu ändern. – ProfessorChaos
Welche Funktionen sind erforderlich, damit es am Telefon funktioniert? –