私はandroid.telecom.ConnectionServiceを使用しています。なぜなら私はvoid getCallerDisplayName()を含む接続クラスを取得したいのですが、私のサービスはConnectionServiceを拡張します。そしてTelecomManager私はCNAP(CallerDisplayName)をAndroidで入手するのに手助けが必要です
にTelecomManager telecomManager = (TelecomManager) getSystemService(Context.TELECOM_SERVICE);
ComponentName componentName = new ComponentName("com.ukrainelike.rate", "com.ukrainelike.rate.myservice");
PhoneAccountHandle phoneAccountHandle = new PhoneAccountHandle(componentName, "Admin");
PhoneAccount.Builder builder = new PhoneAccount.Builder(phoneAccountHandle, "Admin");
builder.setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER);
PhoneAccount phoneAccount = builder.build();
telecomManager.registerPhoneAccount(phoneAccount);
を私のサービスを登録し、例外を取得:
`<service
android:name=".MyService"
android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE">
<intent-filter>
<action android:name="android.telecom.ConnectionService" />
</intent-filter>
</service>`
と<uses-permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"/>
をjava.lang.SecurityException: PhoneAccount connection service requires BIND_TELECOM_CONNECTION_SERVICE permission.
が、私はマニフェストファイルで、この書き込み許可を助けてください。