我无法在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(); 
} 
} 
+0

我做到了,但仍然无法正常工作。我修改了这样的消息:String message =“other string”+“http://maps.google.com/maps?saddr=”+ latString +“,”+ lonString; – user8559076

+0

错误是什么? – Daniele

+0

它只是不发送短信 – user8559076