我正在尝试在我的应用中点击按钮时发送短信。我希望它发送文本,然后在另一行发送我的GPS位置。我已经得到它发送GPS位置,但我不能添加我想要的其他字符串。我的代码如下所示:
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字符串中连接它们并且也不起作用。我该怎么办?
答案 0 :(得分:0)
您无法连接此消息,因为lat e lon是Double,必须将其转换为String。 例如:
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();
}
}