Я хочу получить информацию о звонках и заблокировать звонки (при необходимости). Поскольку метод endCall TelecomManager устарел и согласно документации предлагается использовать CallScreeningService. https://developer.android.com/reference/android/telecom/CallScreeningService.html
Как упоминалось в документации Android, я пытаюсь связать CallScreeningService со своим приложением.
Я создал класс
public class CallUtil extends CallScreeningService {
private Call.Details mDetails;
private static CallScreeningUtil sCallScreeningUtil;
@Override
public void onScreenCall(Call.Details callDetails) {
CallResponse.Builder response = new CallResponse.Builder();
Log.e("CallBouncer", "Call screening service triggered");
sCallScreeningUtil = this;
mDetails = callDetails;
respondToCall(callDetails, response.build() );
}
}
Это системное приложение, и я добавил необходимые разрешения в AndroidManifest.xml, такие как CALL_PHONE, MODIFY_PHONE_STATE, CALL_PHONE, ANSWER_PHONE_CALLS.
Я также добавил информацию об услуге, как показано ниже,
<service android:name=".CallUtil"
android:permission="android.permission.BIND_SCREENING_SERVICE">
<intent-filter>
<action android:name="android.telecom.CallScreeningService"/>
</intent-filter>
</service>
Я немного не понимаю, как связать эту службу с моей деятельностью или как связать эту службу с моим приложением, которое будет вызывать переопределенные методы в CallUtil.