我无法在Android Studio中的一条短信中发送两个字符串
问题描述:
我试图在我的应用中单击按钮时发送短信。我希望它发送一个文本,然后在另一行发送我的GPS位置。我已经得到它发送的GPS位置,但我不能添加我想要的其他字符串。我的代码如下所示:我无法在Android Studio中的一条短信中发送两个字符串
double lat = l.getLatitude();
double lon = l.getLongitude();
String info = "This is the string I want to send in my sms!";
String message="http://maps.google.com/maps?saddr="+lat+","+lon;
String number = "xxxxxxx";
StringBuffer smsBody = new StringBuffer();
smsBody.append(Uri.parse(message));
android.telephony.SmsManager.getDefault().sendTextMessage(number, null, smsBody.toString(), null,null);`
这仅发送带有GPS位置的URL,但我尝试添加文本和URL相同的字符串,而没有工作,两个sepparate字符串和连接它们也不起作用。我能做什么?
答
由于经纬度是双精度,所以不能连接此消息,必须将其转换为字符串。 例如:
String latString = String.valueOf(lat);
String lonString = String.valueOf(lon);
和使用后latString和lonString到cancat消息
或以简单的方式:
String message="http://maps.google.com/maps?saddr="+String.valueOf(lat)+","+String.valueOf(lon);
用于发送短信,您可以使用此功能:
public void sendSMS(String phoneNo, String msg) {
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNo, null, msg, null, null);
Toast.makeText(getApplicationContext(), "Message Sent",
Toast.LENGTH_LONG).show();
} catch (Exception ex) {
Toast.makeText(getApplicationContext(),ex.getMessage().toString(),
Toast.LENGTH_LONG).show();
ex.printStackTrace();
}
}
我做到了,但仍然无法正常工作。我修改了这样的消息:String message =“other string”+“http://maps.google.com/maps?saddr=”+ latString +“,”+ lonString; – user8559076
错误是什么? – Daniele
它只是不发送短信 – user8559076