View on GitHub

oddgui

Android Sms Tracking

This application grabs gps location with on button and the second button sends a text message to my phone number.

[cc lang=”java”]

package com.zevenwolf.tracking;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class Tracking extends Activity implements LocationListener, OnClickListener {
/** Called when the activity is first created. */

private LocationManager lm;

Button gpsButton;
Button messageButton;
public String lat;
public String lon;
public String message;

PendingIntent sentPI;
// The intent action we are using
String SENT = “SMS_SENT”;
BroadcastReceiver br;
TextView lats;
TextView lons;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000l, 5.0f, this);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000l, 5.0f, this);

lats = (TextView) this.findViewById(R.id.lat);
lons = (TextView) this.findViewById(R.id.lon);

sentPI = PendingIntent.getBroadcast(this, 0,
new Intent(SENT), 0);

gpsButton = (Button) this.findViewById(R.id.gps);
messageButton = (Button) this.findViewById(R.id.message);

// The important thing is to set the onclicklistner event with in the setOnClickListener
gpsButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {

lats.setText(lat);

lons.setText(lon);

message = lat + ” ” + lon;
Log.d(“message”, message);

Log.d(“view”, “hit”);

}});

messageButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {

Log.d(“view”, “hit”);

SmsManager sms = SmsManager.getDefault();
// send the message, passing in the pending intent, sentPI
sms.sendTextMessage(“phonenumber”, null, message, sentPI, null);

registerReceiver(br, new IntentFilter(SENT));

}});

// this broadcastreceiver when sent a receive code sends back a specific code which you then display

br = new BroadcastReceiver(){
@Override
public void onReceive(Context ctx, Intent intent) {
switch (getResultCode())
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), “SMS sent”,
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
Toast.makeText(getBaseContext(), “SMS: Generic failure”,
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
Toast.makeText(getBaseContext(), “SMS: No service”,
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
Toast.makeText(getBaseContext(), “SMS: Null PDU”,
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
Toast.makeText(getBaseContext(), “SMS: Radio off”,
Toast.LENGTH_SHORT).show();
break;
}

unregisterReceiver(br);
}

};

}
public void onPause(){

super.onPause();
finish();

}
// onPause
//super onpause
// run finish there

@Override
public void onLocationChanged(Location arg0) {
lat = String.valueOf(arg0.getLatitude());
lon = String.valueOf(arg0.getLongitude());

Log.d(“GPS”, “location changed: lat=” + lat + “, lon=” + lon);
Log.d(“hello”, “stff”);

}

public void onProviderDisabled(String arg0) {
Log.d(“GPS”, “provider disabled ” + arg0);
Log.d(“hello”, “stff”);

}

public void onProviderEnabled(String arg0) {
Log.d(“GPS”, “provider enabled ” + arg0);
Log.d(“hello”, “stff”);

}

public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
Log.d(“GPS”, “status changed to ” + arg0 + ” [” + arg1 + “]”);
Log.d(“hello”, “stff”);

}

public void setGPS(String theText)
{

}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

}

}

[/cc]