¿Cómo enviar mi ubicación (longitud y latitud) como una respuesta sms a otra persona?

Tengo una aplicación en la que necesito enviar mi ubicación (longitud y latitud) a otra persona al recibir un sms de él. De alguna manera conseguir mi ubicación (longitud y latitud) y ponerlo como un texto en la respuesta sms y luego Enviarlo a otra persona.Pero ahora estoy frente a un problema en la forma de obtener mi ubicación y ponerlo como un texto en respuesta sms.Till ahora he escrito un código que envía un mensaje de respuesta en la recepción de un sms de otra persona. ¿Puede alguien decirme cómo obtener mi ubicación y ponerlo como mensaje de texto?

Aquí está mi código para enviar un mensaje de respuesta:

Public void onReceive (Context context, intención de intención) {

Intent m=new Intent(context, ReceivelocationActivity.class); PendingIntent pi=PendingIntent.getBroadcast(context, 0, m, 0); Bundle bundle = intent.getExtras(); SmsMessage[] msgs = null; String str = ""; String str2=""; String str3=""; String autoReplyToken = "Request_Accepted"; if (bundle != null) { //---retrieve the SMS message received--- Object[] pdus = (Object[]) bundle.get("pdus"); msgs = new SmsMessage[pdus.length]; for (int i=0; i<msgs.length; i++){ msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]); str += "SMS from " + msgs[i].getOriginatingAddress(); str2=msgs[i].getOriginatingAddress(); str += " :"; str += msgs[i].getMessageBody().toString(); str3=msgs[i].getMessageBody().toString(); str += "\n"; } //---display the new SMS message--- Toast.makeText(context, str, Toast.LENGTH_SHORT).show(); SmsManager sms = SmsManager.getDefault(); boolean isAutoReply = str3.startsWith(autoReplyToken); /* As suggested by Dan J */ Criteria hdCrit = new Criteria(); hdCrit.setAccuracy(Criteria.ACCURACY_COARSE); hdCrit.setAltitudeRequired(false); hdCrit.setBearingRequired(false); hdCrit.setCostAllowed(true); hdCrit.setPowerRequirement(Criteria.POWER_LOW); hdLocMgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE); hdLocProvider = hdLocMgr.getBestProvider(hdCrit, true); Location location = hdLocMgr.getLastKnownLocation(hdLocProvider); Double dlat = location.getLatitude(); Double dlon = location.getLongitude(); String msg = dlat + "," + dlon ; /* As suggested by Dan J */ if (!isAutoReply) { String autoReplyText = autoReplyToken + msg; sms.sendTextMessage(str2, null, autoReplyText, pi, null); } } } 

¿Puede alguien decirme cómo enviar la ubicación real en "msg" variable en lugar de cadena "ubicación". Cualquier persona con alguna idea por favor hágamelo saber? Gracias por adelantado.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.