Приём звонка в фоновом режиме

189
30 октября 2017, 21:21

У меня есть класс:

public class CallReceiver extends BroadcastReceiver  {
@Override
public void onReceive(final Context context, Intent intent) {
    TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
    PhoneStateListener listener = new PhoneStateListener(){
        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            switch (state)
            {
                case TelephonyManager.CALL_STATE_IDLE:
                    Toast.makeText(context.getApplicationContext(), "Call Ended..", Toast.LENGTH_LONG).show();
                    Log.i("stop", "Call Ended....");
                    break;
                case TelephonyManager.CALL_STATE_OFFHOOK:
                    Toast.makeText(context.getApplicationContext(), "Call Picked..", Toast.LENGTH_LONG) .show();
                    //Log.i("received", "Call Picked....");
                    break;
                case TelephonyManager.CALL_STATE_RINGING:
                    // Вот здесь надо обрабатывать звонок
                    Toast.makeText(context.getApplicationContext(), "Call Ringing..." + incomingNumber,Toast.LENGTH_LONG).show();
                    try {
                        Runtime.getRuntime().exec("input keyevent " +
                                Integer.toString(KeyEvent.KEYCODE_HEADSETHOOK));
                    } catch (IOException e) {
                    }
                    break;
            }
        }
    };
    telephonyManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
}

}

здесь реализован автоматический ответ на входящий звонок

  try {
                    Runtime.getRuntime().exec("input keyevent " +
                            Integer.toString(KeyEvent.KEYCODE_HEADSETHOOK));
                } catch (IOException e) {
                }

Как заставить его делать это не только когда окно приложения открыто, но и когда свернуто и в фоновом режиме?

READ ALSO
как пройти авторизацию в MongoDB?

как пройти авторизацию в MongoDB?

пишу сервис на java для обновления данных в MongoDBпри попытке авторизоваться, выходит ошибка авторизации, но через Mongoshell данные вводятся без...

212
Куда положить файл для считывания?

Куда положить файл для считывания?

Куда положить исходный файл,чтобы считывать из него ?

199
Как наложить свою звукозапись во время телефонного разговора?

Как наложить свою звукозапись во время телефонного разговора?

Нужно наложить свою звукозапись во время звонка, например, закадровый смехТо есть пользователь жмет на какую-то кнопку (пока не продумал...

194
Как результат работы кода в дебаггере может отличаться от результата без него?

Как результат работы кода в дебаггере может отличаться от результата без него?

Язык JavaПолучаю с помощью Selenium сначала таблицу, потом строки

137