Sunteți pe pagina 1din 6

Como enviar por mensaje de texto mi ubicacin y

coordenadas del gps


Android Facil Oficial Android facil, aplicaciones para moviles android, apps para android,
Avanzado, creacion app, crear aplicaciones para moviles, desarrollo android, desarrollo
apps, enviar coordenadas, gps, ubicacion 13 comments
ACTUALIZACIN
-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 aplicacin 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 direccin 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 localizacin, se hara con un simple clic.

Bien necesitamos lo siguiente:


2 textview
-txtCoordenadas
-txtDireccion

1Button
- btnEnviar
Bien ahora vamos a la codificacin, 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 {
protected LocationManager locationManager;
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<Address> 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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.androidmorefast.moden.apppanicbuttonv2">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.
ACCESS_FINE_LOCATION" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.SEND_SMS"/>

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.
LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

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

S-ar putea să vă placă și