2013-12-13 66 views
3

我正在開發一個簡單的使用twilio的語音聊天android應用程序。我可以撥打電話,也可以使用客戶名稱接聽來電。這是我的twilio聲音網址PHP腳本:接聽來電Twilio(獲取姓名給撥打電話的客戶)

<?php 
header('Content-type: text/xml'); 
$client= $_REQUEST["userName"]; 

?> 
<Response> 
    <Dial callerId="<?php echo $client ?>"> 
     <Client><?php echo $number;?></Client> 
    </Dial> 
</Response> 

我需要做的是我需要顯示調用客戶端的用戶名接收來電,但我無法弄清楚如何獲得呼叫客戶的名稱。我甚至試着這樣做,

@Override 
     public void onResume() { 
      super.onResume(); 

      Intent intent = getIntent(); 
      Device device = intent.getParcelableExtra(Device.EXTRA_DEVICE); 
      Connection incoming = intent 
        .getParcelableExtra(Device.EXTRA_CONNECTION); 
      incoming.setConnectionListener(this); 
        String clientName = Connection.getParameters().get(incoming.IncomingParameterFromKey); 

      Log.i(TAG, "Call from : " + clientName); 
     } 

,但我得到了下面的logcat輸出:

12-13 16:17:25.531: E/Voice chat sample app log(16157): Call from : 873797 

我得到,而不是客戶端名稱的數量873797

可能有某種方法可以獲取客戶端的名稱。我也通過twilio文檔沒有成功。任何幫助將不勝感激。

+0

你找到了一個解決方案? – Carlos

+0

沒有。我沒有。 – Raeesaa

回答

0

所有你需要做的只是去這個鏈接

https://www.twilio.com/user/account/phone-numbers/incoming

1. Click on your twilio number. 
    2. Enter into the Configure Tab 
    3. Go into Voice . Check the Url in Configure with: 
    4. Over there you have a drop down of Caller Name Lookup that is set to disabled. Enable it . 

希望這對你的作品! :)

0

我已經解決了這個問題,

希望它可以幫助

@Override 
public void onResume() { 
    super.onResume(); 

    Intent intent = getIntent(); 

    if (intent != null) { 
     /* 
     * Determine if the receiving Intent has an extra for the incoming connection. If so, 
     * remove it from the Intent to prevent handling it again next time the Activity is resumed 
     */ 
     Device device = intent.getParcelableExtra(Device.EXTRA_DEVICE); 
     Connection incomingConnection = intent.getParcelableExtra(Device.EXTRA_CONNECTION); 
     if (incomingConnection == null && device == null) { 
      return; 
     } 
     intent.removeExtra(Device.EXTRA_DEVICE); 
     intent.removeExtra(Device.EXTRA_CONNECTION); 

     pendingConnection = incomingConnection; 
     pendingConnection.setConnectionListener(this); 

     String incomingRecipientCallNumber = pendingConnection.getParameters().get(incomingConnection.IncomingParameterFromKey); 

     showRecipientNumber.setText(incomingRecipientCallNumber); 

     showIncomingDialog(); 
    } 
}