是否可以将呼叫状态更新为服务器?

时间:2015-10-28 09:36:46

标签: android broadcastreceiver call

我正在尝试获取通话状态。我设法得到了这个,使用 BroadcastReceiver 获得通话状态 我怀疑是否可以将呼叫状态发送到服务器。例如CALL_STATE_RINGING等通过Web服务。我尝试了但它唯一更新CALL_STATE_IDLE状态。请提出你的意见。

1 个答案:

答案 0 :(得分:0)

在广播接收器中,您可以使用意图

获取呼叫状态

以下是代码:

 String stateStr = intent.getExtras().getString(
                        TelephonyManager.EXTRA_STATE);

       if (stateStr != null) {
                int state = 0;
                try {
                    if (stateStr.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
                        state = TelephonyManager.CALL_STATE_IDLE;
                    } else if (stateStr
                            .equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) {
                        state = TelephonyManager.CALL_STATE_OFFHOOK;
                    } else if (stateStr
                            .equals(TelephonyManager.EXTRA_STATE_RINGING)) {
                        state = TelephonyManager.CALL_STATE_RINGING;
                    } else if (stateStr
                            .equals(TelephonyManager.EXTRA_INCOMING_NUMBER)) {
                        state = TelephonyManager.CALL_STATE_RINGING;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                    Log.d(TAG, "State String :" + stateStr);
                    state = TelephonyManager.CALL_STATE_IDLE;
                }