文本消息中的&符号 - 发送android的短信

时间:2014-06-17 09:15:12

标签: android sms ampersand

所以这就是我的问题。

我有一个定时器,应该每隔X秒发送一次短信。 我希望文本消息是用户的当前GPS位置。 所以,我想发送一种谷歌地图URL,使用我得到的GPS坐标,并为地图添加一些标记,地图类型,大小....

要做到这一点,我需要使用角色"&"在URL中。为了得到这样的东西: http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=roadmap

(即:https://developers.google.com/maps/documentation/staticmaps/?csw=1#URL_Parameters

但是,当我想使用这种URL时,使用"&"在我短信的短信中。短信永远不会发送。当我删除包含"&"的每个部分时,它正常工作。

我尝试使用"& amp;"而不是"&"。仍然不起作用。

这是我的短信管理员发送短信:

smsManager.sendTextMessage(INT, null, "Alert - RED AREA \n TIME :  " + current date + " \n  Lat: " + latitude + " \n Long: " + longitude + "Link Maps : http://maps.googleapis.com/maps/api/staticmap?center=" + latitude + "," + longitude +"&zoom=12&size=400x400&maptype=satellite", null, null);

上面的代码,不发送任何消息。 但是这个确实:

smsManager.sendTextMessage(INT, null, "Alert - RED AREA \n TIME :  " + current date + " \n  Lat: " + latitude + " \n Long: " + longitude + "Link Maps : http://maps.googleapis.com/maps/api/staticmap?center=" + latitude + "," + longitude, null, null);

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

使用“%26”代替“&”或“&amp”,URL仍然会解析,并且SMS会正确构建

答案 1 :(得分:0)

最简单的解决方案是考虑某种特殊字符(或字符串),用于替换'&'字符串中的字符。

您将浏览源代码字符串并替换'&'使用特殊字符串(代表'&')。

反向机制应在接收方面实施。

但要小心!你需要仔细选择你的特殊字符串!因为如果你选择一个通常出现在源字符串中的字符串,接收者就会插入一个假的'&'字符。

如果此解决方案不够好,请告诉我......我的某个应用中遇到过类似的问题,并找到了一种解决方法,但没有用其他内容替换字符。