我在Android Studio的一个短信中发送两个字符串时遇到问题

时间:2017-10-05 18:53:46

标签: java android sms

我正在尝试在我的应用中点击按钮时发送短信。我希望它发送文本,然后在另一行发送我的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字符串中连接它们并且也不起作用。我该怎么办?

1 个答案:

答案 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();
} 
}