Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GetGpsLocation extends Activity {
- private LocationManager lm;
- private TextView tv;
- private long timeStart, timeEnd = 0;
- private int interval = 30000;
- private boolean useGps, useNetwork = false;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //Toast.makeText(this,"GetGpsLocation invoked", Toast.LENGTH_LONG).show();
- setContentView(R.layout.main);
- TextView tv = (TextView) findViewById(R.id.gpsView);
- tv.append("\nGetGpsLocation invoked\n");
- useGps = true;
- useNetwork = false;
- lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
- lm.addGpsStatusListener(listener);
- }
- public void onDestroy(){
- super.onDestroy();
- lm.removeGpsStatusListener(listener);
- removeListeners();
- }
- private void addListeners(){
- timeStart = System.currentTimeMillis();
- if(useGps)
- lm.requestLocationUpdates(lm.GPS_PROVIDER, interval, 0, gpsLocationListener);
- if(useNetwork)
- lm.requestLocationUpdates(lm.NETWORK_PROVIDER, interval, 0, networkLocationListener);
- Toast.makeText(this,"Listeners added", Toast.LENGTH_LONG).show();
- }
- private void removeListeners(){
- if(useGps)
- lm.removeUpdates(gpsLocationListener);
- if(useNetwork)
- lm.removeUpdates(networkLocationListener);
- Toast.makeText(this,"Listeners removed", Toast.LENGTH_LONG).show();
- }
- private final LocationListener gpsLocationListener = new LocationListener() {
- public void onLocationChanged(Location l) {
- TextView tv = (TextView)findViewById(R.id.gpsView);
- timeEnd = System.currentTimeMillis();
- tv.append("gpsLocation update (time=" + (timeEnd - timeStart) + ")\n lat=" + l.getLatitude() + " lon=" + l.getLongitude() + " acc=" + l.getAccuracy() + "\n");
- }
- public void onProviderDisabled(String provider){
- TextView tv = (TextView)findViewById(R.id.gpsView);
- tv.append("gpsLocationListener provider disabled\n");
- }
- public void onProviderEnabled(String provider) {
- TextView tv = (TextView)findViewById(R.id.gpsView);
- tv.append("gpsLocationListener provider enabled\n");
- }
- public void onStatusChanged(String provider, int status, Bundle extras) {
- TextView tv = (TextView)findViewById(R.id.gpsView);
- tv.append("gpsLocationListener Status changed: " + status + "\n");
- }
- };
- private final LocationListener networkLocationListener = new LocationListener() {
- public void onLocationChanged(Location l) {
- TextView tv = (TextView)findViewById(R.id.gpsView);
- timeEnd = System.currentTimeMillis();
- tv.append("networkLocation update (time=" + (timeEnd - timeStart) + ")\n lat=" + l.getLatitude() + " lon=" + l.getLongitude() + " acc=" + l.getAccuracy() + "\n");
- }
- public void onProviderDisabled(String provider){
- TextView tv = (TextView)findViewById(R.id.gpsView);
- tv.append("networkLocationListener provider disabled\n");
- }
- public void onProviderEnabled(String provider) {
- TextView tv = (TextView)findViewById(R.id.gpsView);
- tv.append("networkLocationListener provider enabled\n");
- }
- public void onStatusChanged(String provider, int status, Bundle extras) {
- TextView tv = (TextView)findViewById(R.id.gpsView);
- tv.append("networkLocationListener Status changed: " + status + "\n");
- }
- };
- private final GpsStatus.Listener listener = new GpsStatus.Listener() {
- public void onGpsStatusChanged(int event) {
- TextView tv = (TextView)findViewById(R.id.gpsView);
- // tv.append("GPS Status Changed: " + event + "\n");
- if (event == GpsStatus.GPS_EVENT_FIRST_FIX) {
- GpsStatus status = lm.getGpsStatus(null);
- tv.append("GPS Status Changed: TTFF = " + status.getTimeToFirstFix() + "\n");
- // Check number of satellites in list to determine fix state
- }
- else if (event == GpsStatus.GPS_EVENT_STARTED) {
- tv.append("GPS Status Changed: GPS_EVENT_STARTED (" + event + ")\n");
- }
- else if (event == GpsStatus.GPS_EVENT_STOPPED) {
- tv.append("GPS Status Changed: GPS_EVENT_STOPPED (" + event + ")\n");
- }
- }
- };
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- menu.add(Menu.NONE, 0, 0, "Start");
- menu.add(Menu.NONE, 1, 1, "Stop");
- return true;
- }
- public boolean onOptionsItemSelected(MenuItem item){
- switch (item.getItemId()) {
- case 0:
- addListeners();
- break;
- case 1:
- removeListeners();
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement