В данный момент я разрабатываю приложение, которое ловит действие NEW_OUTGOING_CALL
с помощью a BroadcastReceiver
. Я прерываю вызов путем вызова setResultData(null)
. После этого я показываю пользователю диалоговое окно, которое позволяет ему решать, хочет ли он использовать мое приложение для перезаписи его числа. Когда пользовательское решение произошло, я помещаю новый вызов в зависимости от решения. Теперь мой бытовой радиоприемник представлен на рассмотрение еще раз.
Каков корректный способ узнать это, я уже обработал число? Я получил рабочее решение, которое использует метку времени, чтобы предположить, могло ли это быть уже обработано. Другое решение состояло бы в том, чтобы добавить a "+"
в конце обработанного числа. Эти методы хорошо работают для моего приложения, являющегося единственным, ловя NEW_OUTGOING_CALL
событие. Но что должно я делать, когда другие приложения (как Sipdroid или Google Voice) также находятся, там ловя NEW_OUTGOING_CALL
широковещательная передача, прерывающая его и перезапускающая его снова? Я не вижу возможности узнать, если мы находимся все еще в том же "потоке вызовов" и если я уже обработал число.
Я хотел бы услышать Ваши идеи об этой проблеме!