2017-10-05 7 views
-1

내 앱에서 버튼을 클릭하면 SMS를 보내려고합니다. 나는 그것이 텍스트를 보내고 다른 라인에서 내 GPS 위치를 보내길 원한다. 이미 GPS 위치를 전송하도록 설정했으나 원하는 다른 문자열을 추가 할 수 없습니다.Android Studio에서 하나의 SMS로 두 개의 문자열을 보내는 데 문제가 있습니다.

   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

위도가 Double이기 때문에이 메시지를 연결할 수 없으므로 String으로 변환해야합니다. 예 :

String latString = String.valueOf(lat); 
String lonString = String.valueOf(lon); 

사용 latString 및 lonString 후

이 cancat하는 메시지

또는 간단한 방법으로

:

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(); 
} 
} 
:이 기능을 사용할 수 보내기 SMS에 대한

String message="http://maps.google.com/maps?saddr="+String.valueOf(lat)+","+String.valueOf(lon); 

+0

그랬지만 여전히 작동하지 않습니다. 다음과 같이 메시지를 수정했습니다. String message = "other string"+ "http://maps.google.com/maps?saddr="+ latString + ","+ lonString; – user8559076

+0

무엇이 오류입니까? – Daniele

+0

그냥 SMS를 보내지 않습니다 – user8559076