所以这就是我的问题。
我有一个定时器,应该每隔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);
有什么想法吗?
谢谢!
答案 0 :(得分:1)
使用“%26”代替“&”或“&amp”,URL仍然会解析,并且SMS会正确构建
答案 1 :(得分:0)
最简单的解决方案是考虑某种特殊字符(或字符串),用于替换'&'字符串中的字符。
您将浏览源代码字符串并替换'&'使用特殊字符串(代表'&')。
反向机制应在接收方面实施。
但要小心!你需要仔细选择你的特殊字符串!因为如果你选择一个通常出现在源字符串中的字符串,接收者就会插入一个假的'&'字符。
如果此解决方案不够好,请告诉我......我的某个应用中遇到过类似的问题,并找到了一种解决方法,但没有用其他内容替换字符。