我正在使用sinch调用服务app应用程序调用它可以正常使用int和字符串作为onSinchServiceConnected()中的callId但是如果用户名有特殊字符,则不会调用。
<location path="images">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
答案 0 :(得分:0)
作为一般准则,在与Sinch通话时,应根据E.164号码格式([http://en.wikipedia.org/wiki/E.164][1]
)建议指定电话号码,并应以“+”为前缀。
答案 1 :(得分:0)
我无法完美地回答您的问题,但我认为这样就解决了。 您可以通过使用mCallId的编码和解码来完成此操作。 放置调用编码callId
public String Encode(String str) {
byte[] data = null;
try {
data = str.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String base64 = Base64.encodeToString(data, Base64.DEFAULT);
return base64;
}
并将呼叫ID用作
Call call = getSinchServiceInterface().callUser(Encode(name));
和接听电话
public String decode(String str) {
byte[] data = Base64.decode(str, Base64.DEFAULT);
String text = null;
try {
text = new String(data, "UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return text;
}
并使用它
String userEncoded = call.getRemoteUserId();
String decodedUserName = decode(userEncoded);