Ответ в теме: Мобильное приложение под Android

 

Сервисы Общения Форумы Телефония Мобильное приложение под Android Ответ в теме: Мобильное приложение под Android

#9179
Demon
Участник

@turambar, ваша речь выглядит как речь человека, который разбирается в этих вопросах 🙂 Потому я не могу не поплакаться.. а вдруг?! 🙂
Попробую объяснить почему у Вас такое может происходить.
Обработка исходящего звонка вешается на <action android:name=”android.intent.action.NEW_OUTGOING_CALL” />, который прописывается в манифесте с <intent-filter android:priority=”1″ >.
И важен тут именно приоритет. Т.е. весьма вероятно что реальный дайлер висит на экшене с более приоритетным приоритетом и отрабатывает экшен раньше моего.

Но проблема даже не в этом. А в какой-то… незаконченности архитектуры андройда. И это меня сейчас беспокоит. Объясню:
Задача: перехватить исходящий вызов, выдать менюшку из вариантов и отработать эти варианты.
Как можно решить:
1. повеситься на ACTION_DIAL. В этом случае у пользователя будет выдаваться менюшка, создаваемая самим андройдом. Так поступает скайп…
Вроде бы и всё красиво, но.. в этом случае нельзя сделать несколько Callback номеров (разные симки), т.к. программа подключается только один раз. Или придётся делать меню из меню… меню второго уровня.
2. CSipSimple пошёл иначе… он перекрывает NEW_OUTGOING_CALL и сам формирует меню из доступных у него SIP-экаунтов. Но.. только из них и мобилки. т.е. тоже “индивидуалист”.
Если я перекрою этот метод, то я затрудню пользование тем же CSipSimple… да ещё если строит скайп, то выбирать придётся много раз.

Надеюсь, понятно описал мои смятения. Как-то это в андройде… “неаккуратненько” 🙁