среда, 9 октября 2013 г.

Телефонные вызовы. Начало, конец звонка.

Для отслеживания начала и окончания звонка необходимо создать класс, наследуемый от BroadcastReceiver.

public class IncomingCallTracker extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        Bundle bundle = intent.getExtras();

            Set keys = bundle.keySet();
        for (String key : keys) {
         if(key.equals("state"))
                Log.i("Timing", key + "="+ bundle.getString(key));
        }       
    }

}

А в главном Activity создаем экземпляр класса
в onCreate
br = new IncomingCallTracker();
IntentFilter intFilt = new IntentFilter("action");
registerReceiver(br, intFilt);

дерегистрируем по окончании работы
в onDestroy
unregisterReceiver(br);

Обязательным для возможности совершения телефонного звона является добавление пермишена
<uses-permission android:name="android.permission.CALL_PHONE" />


Комментариев нет:

Отправить комментарий