Как прервать исходящий звонок после фиксированных секунд?

Я работаю над Android-приложением, которое может пропустить пропущенный вызов на другом телефоне определенной продолжительности, например 5, 10 секунд, я поражен, как только вызов выполняется через программу на определенный номер, моя программа потеряет контроль, как я могу закончить после некоторого фиксированного отсутствия , секунд после вызова, SDK общего назначения позволяет инициировать вызов не для абортов.

Я новичок в android и сделал глубокий поиск в сети об этом, некоторые люди ссылаются на использование JAVA-отражения и внутренней телефонии для этого, но я не смог этого сделать, хотя я сделал это на платформе Symbian s-60.

Любое предложение?

0
добавлено отредактировано
Просмотры: 1

2 ответы

используйте telephony.aidl интерфейс, который состоит из метода с именем endCall() , который используется для завершения вызова

запускать таймер в методе onReceive() широколистного приемника, когда ваш вызов находится в состоянии Ringing или в состоянии off-hook

использовать метод endCall() в этом таймере

Дайте мне знать, если вам нужно больше вещей от меня

1
добавлено
    import android.content.BroadcastReceiver;
     import android.content.Context;
     import android.content.Intent;
     import android.util.Log;
     import android.widget.Toast;

     public class OutgoingCallReceiver extends BroadcastReceiver {


         @Override
         public void onReceive(Context context, Intent intent) {
    if(intent.getAction().equals(Intent.NEW_OUTGOING_CALL))
     {
       abortBroadcast ();
       }
    }
      }

требует


0
добавлено
Я сделал следующий код, но он не работает, вызов не прерывается [link] ( pastebin.com/JSB1tKFQ ), любезно помочь
добавлено автор Deepender Singla, источник
извините за то, что вы делаете неправильно раньше, теперь я прошел через широковещательный приемник, реализовал базовый код, который также печатает исходящий номер, он делает это точно, но вызов не прерывается, код здесь
добавлено автор Deepender Singla, источник
Он также печатает код внутри цикла, я пробовал использовать другой подход, используя встроенную телефонию, даже если это не работает, вы можете попробовать [link] ( stackoverflow. ком/кв/14092141/793806 )
добавлено автор Deepender Singla, источник
эй, что ты реализуешь? BroadCast Receiver никогда не может быть вызван с помощью функции startActivity. Просто приведите несколько примеров того, как повысить действие приемника. вам нужно использовать sendBroadCast() для отправки действия приемника.
добавлено автор TNR, источник
@DeependerSingla Я прошел через ваш код. Класс BroadCastReceiver будет отвечать за все действия. поэтому он может распечатать ваш журнал. Пожалуйста, просто добавьте свой код для печати журнала номера телефона до abortBroadcast() внутри цикла if. если он печатает, это было бы странно. Если вы не печатаете, вы добавляете действие приемника внутри тега приемника в AndroidManifest.xml. Надеюсь, это сработает для вас.
добавлено автор TNR, источник