2013-09-21 7 views
1

В моем приложении мне нужно определить, принимается или отключается исходящий звонок или звонит. Я прошел через эти посты:Можно ли узнать, принимается ли исходящий вызов в Android

Но ни одно из этих сообщений не дать правильный ответ. Я использовал внутренний класс Android com.android.internal.telephony.CallManager, но я получаю только состояние телефона в режиме ожидания.

ответ

0

Формально вы не можете сделать это, как объяснено here, но есть обходной путь, который я использую: Вы можете сохранить свой последний статус и использовать его, чтобы определить, когда исходящий движется вызов от снятия трубки на холостом ходу, который означает, что звонок был взломан или принят. Итак, чтобы узнать, что это такое, вы можете проверить, жив ли звонок, и если вы можете сказать, что на вызов был дан ответ и выполнить ваш код.

Например:

// 0 --> 1 || 0 --> 2 
if ( laststate == TelephonyManager.CALL_STATE_IDLE 
    && ( state == TelephonyManager.CALL_STATE_RINGING 
     || state == TelephonyManager.CALL_STATE_OFFHOOK)) 
{ 
} 
else if (state == TelephonyManager.CALL_STATE_IDLE) 
{ 
} 

if ( laststate == TelephonyManager.CALL_STATE_OFFHOOK 
    && state == TelephonyManager.CALL_STATE_IDLE) 
{ 
} 

laststate = state; 
+0

На самом деле, как я буду использовать lastState variable.means я должен хранить его статически или в sharedpreference..can у плз скажите мне глубоко? –

+0

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

Смежные вопросы