Я пытаюсь сделать приложение, которое будет делать телефонные звонки один за другим из списка номеров

0

Я разрабатываю приложение для своего друга, который продается, это приложение будет делать телефонные звонки один за другим, как только один телефонный звонок отключится, он автоматически совершит вызов другого номера из списка. Этот список можно прочитать из источника данных xml или json или mongodb или даже из листа excel.

Это может быть приложение ios, которое считывает данные из конечной точки и сохраняет их и может инициировать вызов в любой точке, и оно не будет останавливаться, пока не будут выполнены все вызовы.

Следующий вызов будет выполнен только после завершения первого вызова.

Я думаю об использовании веб-приложения на основе узлов, используя голос Google, чтобы вызвать цепочку.

У меня нет опыта работы с ios/android apis, но я готов работать над этим, если это жизнеспособная вещь на этой платформе.

Примечание: то, что мы пытаемся избежать, - это весь процесс

  1. просматривая номер телефона.
  2. нажмите и выберите другой номер телефона.
  3. Он должен запускать следующий вызов, как только текущий вызов отключится.
  4. Также мы стараемся избегать любых платных услуг, таких как twillo.

Заранее спасибо :)

Теги:
excel

2 ответа

0

для IOS вы можете использовать CTCallCenter

self.callCenter = [[CTCallCenter alloc] init];
self.callCenter.callEventHandler = ^(CTCall *call){

        if ([call.callState isEqualToString: CTCallStateConnected])
        {
            //NSLog(@"call stopped");
        }
        else if ([call.callState isEqualToString: CTCallStateDialing])
        {
        }
        else if ([call.callState isEqualToString: CTCallStateDisconnected])
        {
            //NSLog(@"call played");
        }
        else if ([call.callState isEqualToString: CTCallStateIncoming])
        {

        }
    };

Загрузите список телефонов, зайдите в список телефонов, сделайте звонок, слушайте CTCallCenter и appdelegate. Событие, обнаружите, что пользователь завершил последний звонок, наше приложение снова активировано, затем выполните следующий вызов.

Или вы можете попробовать Демо !

  • 0
    Будет ли новый набор номера происходить сам по себе? Я имею в виду, что мне не нужно нажимать какие-либо кнопки на телефоне?
  • 0
    Возможно. Я создам Демо для вас. Может быть, ночью, время в Японии.
Показать ещё 1 комментарий
0

Вы могли бы теоретически сделать вызов приложения автоматически, дождаться окончания вызова и затем инициировать следующий вызов автоматически. Однако это не самая лучшая практика, поскольку она может нести плату. Кроме того, некоторые OEM-производители фактически блокируют автоматический набор номера, и они только нажимают номера на клавиатуре и заставляют пользователя нажимать кнопку вызова.

Это делается для предотвращения атак от вытирания вашего устройства (секретного кода) или предоставления IMEI другим. Такое поведение непоследовательно - некоторые устройства имеют патч, другие - нет. Это характер фрагментированной платформы Android.

Итак, в итоге ваше готовое приложение будет работать на некоторых устройствах, но не на других.

Не цитируйте меня на этом, но я думаю, что системным приложениям разрешено автоматически размещать телефонные звонки, когда захотят. Таким образом, вы можете учесть свои рабочие устройства и установить их в качестве системных приложений. В качестве альтернативы вы можете захватить пакеты прошивки для каждого устройства, изменить их, чтобы включить приложение в качестве системы и вспышки, если необходимо. Это обычно означает, что вам не нужно перепрыгивать через сложные обручи, такие как укоренение, впрыскивание приложения и последующее извлечение.

Я предлагаю вам сначала просмотреть ваши критерии и убедиться, что автоматическое вызов абсолютно необходимо. ИМХО, это очень плохая практика для автоматического вызова.

EDIT: этот ответ предназначен для устройств Android. Для iOS я понятия не имею, поскольку у меня нет устройства Apple. Сожалею.

EDIT2: Я забыл включить код. Скажем, я хочу набрать номер, но дождитесь подтверждения пользователем вызова. Найдите, где вы хотите набрать код. Предположим, что моя активность имеет только один номер телефона, но вы можете использовать if (arraySum) для цикла.

number = "01012345678";

String uri = "tel:" + Integer.toString(number) ;
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse(uri));
startActivity(intent);

Это запустит Dialer и введите номер, но он не будет звонить автоматически, и вам придется нажать кнопку вызова.

Если вы действительно настаиваете на автоматических вызовах, я предлагаю добавить это в AndroidManifest.xml.

<uses-permission android:name="android.permission.CALL_PHONE" /> //This is the standard permission
<uses-permission-sdk-23 android:name="android.permission.CALL_PHONE" /> //This is the new practice starting from Marshmallow onwards

Выберите между ними, но я рекомендую использовать новую практику, потому что она удаляет диалоговое окно подтверждения разрешения при установке приложения из Play Маркета.

После того, как вы определите свои разрешения, найдите ту часть, где вы набираете номер и меняете код:

number = "01012345678";

String uri = "tel:" + Integer.toString(number) ;
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(uri));
startActivity(intent);

И он начнет звонить.

Помните - не забудьте дождаться окончания вызова перед началом следующего цикла. Задачи Android являются асинхронными, то есть они будут работать без задержек.

  • 0
    Я не спрашивал вас о методах, плате или OEM-блокировке звонков - мы можем подождать несколько миллисекунд между звонками, это не проблема. Кроме того, вы слишком обдумываете это, когда говорите о сложных обручах, таких как рутинг, внедрение приложения, а затем отмена рутинга. Он просто делает вызов - прослушивает, когда вызов завершается, а затем делает новый вызов ... больше ничего.
  • 0
    Нет, нет, вы поняли это совершенно неправильно. Автоматические звонки могут быть заблокированы OEM-производителями, если вы не поместите свое приложение в системный раздел. Когда вы запускаете намерение позвонить, система решает, автоматически ли вам звонить ИЛИ просто оставить номер на клавиатуре и ждать, пока вы нажмете кнопку вызова. Обычно это последнее, потому что автоматический вызов плох. Хотя автоматический вызов - это плохо (на мой взгляд), автоматический набор номера - нет, и единственное, что ваши клиенты должны делать между каждым вызовом, - это нажать кнопку вызова.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню