Como enviar por mensaje de texto mi ubicación y coordenadas del gps Android Facil Oficial Android facil, facil, aplicaciones para moviles android, android, apps para android, android, Avanzado,, creacion app, Avanzado app, crear aplicaciones para moviles, moviles, desarrollo android, android, desarrollo apps,, enviar coordenadas, apps coordenadas, gps gps,, ubicacion 13 comments
ACTUALIZACIÓN -Debido a que muchos usuarios tienen error se actualizo: -Permisos para obtener las coordenadas -Permisos para enviar los mensajes Deben aceptar el mensaje que les sale al momento de usar la aplicación o no funcionara. Buenas hoy veremos un tutorial que me han estado pidiendo como enviar por un mensaje de texto a otro celular mis coordenadas y la dirección de la calle. Alguno le llaman a este ejercicio PanicButton, porque la idea es que si estuvieras en peligro o tengas la necesidad de enviar tu localización, se haría con un simple clic. Bien necesitamos lo siguiente:
2 textview -txtCoordenadas -txtDireccion
1Button - btnEnviar
Bien ahora vamos a la codificación, nuestro MainActivity.java tendrá lo siguiente.Pon el numero de celular a donde quieres que llegue el mensaje donde dice "Aquí tu numero de celular";
MainActivity.java public class MainActivity extends Activity implements LocationListener { LocationManager locationManager; protected
TextView coordenadas; TextView direccion; Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION,}, 1000); } else { locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000, 1000, this); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1000, this); } super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.btnEnviar); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try {
TextView co = (TextView) findViewById(R.id.txtCoordenadas); TextView di = (TextView) findViewById(R.id.txtDireccion); String messageToSend = co.getText().toString(); String messageToSend2 = di.getText().toString();
if
(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) { if
(ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.SEND_SMS)) { ActivityCompat.requestPermissions(MainActivity.this, new
String[]{Manifest.permission.SEND_SMS}, 1); } else { ActivityCompat.requestPermissions(MainActivity.this, new
String[]{Manifest.permission.SEND_SMS}, 1); } }else { String number = "Aquí tu numero de celular";
SmsManager.getDefault().sendTextMessage(number, null, messageToSend2 + "\n" + messageToSend, null, null); } Toast.makeText(getApplicationContext(), "Mensaje Enviado!", Toast.LENGTH_LONG).show(); } catch (Exception e) { Toast.makeText(getApplicationContext(), "Fallo el envio!", Toast.LENGTH_LONG).show(); e.printStackTrace(); } } }); }
@Override public void onLocationChanged(Location location) {
coordenadas = (TextView) findViewById(R.id.txtCoordenadas); direccion = (TextView) findViewById(R.id.txtDireccion); coordenadas.setText("Mi ubicacion actual es: " + "\n Lat = " + location.getLatitude() + "\n Long = " + location.getLongitude()); this.setLocation(location); } public void setLocation(Location location) { //Obtener la direccion de la calle a partir de la latitud y la longitud if (location.getLatitude() != 0.0 && location.getLongitude() != 0.0) { try { Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List
list = geocoder.getFromLocation( location.getLatitude(), location.getLongitude(),
1); if (!list.isEmpty()) {
Address DirCalle = list.get(0); direccion.setText("Mi direccion es: \n" + DirCalle.getAddressLine(0)); } } catch (IOException e) { e.printStackTrace(); } } } @Override public void onProviderDisabled(String provider) {
Log.d("Latitude","disable"); } @Override public void onProviderEnabled(String provider) {
Log.d("Latitude","enable"); } @Override public void onStatusChanged(String provider, int status, Bundle
extras) { Log.d("Latitude","status"); } }
Hay que dar unos permisos en nuestro AndroidManifest.xml
AndroidManifest.xml
android:theme="@style/AppTheme">
Y este es el resultado Final: Quite mi numero de celular, por las ingenieras acosadoras jajaja
http://android-morefast.blogspot.mx/2016/06/como-enviar-por-mensaje-de-texto-mi.html