Created
January 18, 2013 20:48
-
-
Save anonymous/4568405 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Burraq extends MapActivity { | |
long start; | |
long stop; | |
@Override | |
public void onNewIntent(Intent intent) { | |
super.onNewIntent(intent); | |
setIntent(intent); | |
Log.d("MapActivity","Got new Data again"); | |
setMaptoProvidedLocation(); | |
} | |
@Override | |
public void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_burraq); | |
setMaptoProvidedLocation(); | |
} | |
// Setting Google Map to provided location | |
private void setMaptoProvidedLocation() { | |
//Default position | |
String LON = "33.651686"; | |
String LAT = "73.156333"; | |
if(SmsReceiver.chk==1){ | |
Intent i = getIntent(); | |
LAT = i.getExtras().getString("NewLat"); | |
LON= i.getExtras().getString("NewLon"); | |
} | |
MapView mapView = (MapView) findViewById(R.id.themap); | |
MapController control = mapView.getController(); | |
mapView.setBuiltInZoomControls(true); | |
Touchy t = new Touchy(); | |
List<Overlay> overlayList = mapView.getOverlays(); | |
overlayList.add(t); | |
//Map Animate to new GeoPoints | |
double lat = Double.parseDouble(LON); // latitude | |
double lon = Double.parseDouble(LAT); // longitude | |
GeoPoint geoPoint = new GeoPoint((int) (lat * 1E6), (int) (lon * 1E6)); | |
control.animateTo(geoPoint); | |
control.setZoom(100); | |
Toast.makeText(getApplicationContext(), | |
"Your Location is - \nLat: " + lat + "\nLong: " + lon, 0) | |
.show(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.robot.burraq; | |
import android.content.BroadcastReceiver; | |
import android.content.Context; | |
import android.content.Intent; | |
import android.os.Bundle; | |
import android.telephony.SmsMessage; | |
import android.widget.Toast; | |
public class SmsReceiver extends BroadcastReceiver | |
{ | |
// setting global variable. | |
public static String up_lon; | |
public static String up_lat; | |
public static int chk =0; | |
@Override | |
public void onReceive(Context context, Intent intent) | |
{ | |
//---get the SMS message passed in--- | |
Bundle bundle = intent.getExtras(); | |
SmsMessage[] msgs = null; | |
String str = ""; | |
String str2 = ""; | |
//fetching message string | |
if (bundle != null) | |
{ | |
//---retrieve the SMS message received--- | |
Object[] pdus = (Object[]) bundle.get("pdus"); | |
msgs = new SmsMessage[pdus.length]; | |
String sender_num = null; | |
for (int i=0; i<msgs.length; i++){ | |
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]); | |
// str += "SMS from " + msgs[i].getOriginatingAddress(); | |
// str += " :"; | |
str = msgs[i].getMessageBody().toString(); | |
// str += "\n"; | |
sender_num = msgs[i].getOriginatingAddress(); | |
} | |
//Divide message string to 2 parts longitude and latitude by detection "," | |
int flag =0; | |
str2 =str.substring(3,4); | |
up_lon = ""; | |
up_lat = ""; | |
for(int j=0; j<str.length();j++) | |
{ | |
str2 =str.substring(j,j+1); | |
if(flag == 1) | |
{ | |
up_lat += str2; | |
} | |
if(str2.equals(",")) | |
{ | |
flag = 1; | |
} | |
if(flag == 0) | |
{ | |
up_lon += str2; | |
} | |
} | |
chk=1; | |
//New Location fetched | |
Toast.makeText(context,up_lat + up_lon , Toast.LENGTH_SHORT).show(); | |
Intent i = new Intent(); | |
i.putExtra("NewLat", up_lat); | |
i.putExtra("NewLon", up_lon); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
anyways ..its your choice... :)