Каков корректный способ обработать действие NEW_OUTGOING_CALL в то время как цикличное выполнение?

В данный момент я разрабатываю приложение, которое ловит действие NEW_OUTGOING_CALL с помощью a BroadcastReceiver. Я прерываю вызов путем вызова setResultData(null). После этого я показываю пользователю диалоговое окно, которое позволяет ему решать, хочет ли он использовать мое приложение для перезаписи его числа. Когда пользовательское решение произошло, я помещаю новый вызов в зависимости от решения. Теперь мой бытовой радиоприемник представлен на рассмотрение еще раз.

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

Я хотел бы услышать Ваши идеи об этой проблеме!

9
задан Cristian 17 July 2010 в 14:22
поделиться