Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to check the gps Tracking half hour once using Broadcast Receiver?
    primarykey
    data
    text
    <p>Hai am trying to get the gps location using BroadCast Receiver.its working fine,But i want to get the location every half hour once.i used **MINIMUM_TIME_BETWEEN_UPDATES ** 30mts .i got when latitude and longitude value changed</p> <p><strong>update</strong></p> <pre><code>public class MainActivity extends Activity implements LocationListener { final DBAdapter1 db=new DBAdapter1(this); private ConnectivityReceiver receiver = null; private TextView txtNetworkInfo ; private static TextView latituteField; private static TextView longitudeField; private LocationManager locationManager; SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); private static final String HostUrl =" http://xxx/Service.svc"; // private static final String HostUrl =" http://yyyService.svc"; private static final String NAMESPACE = "http://tempuri.org/"; private HttpTransportSE httpTransport = new HttpTransportSE(HostUrl); private String provider; private SoapObject request=null; private static final long MINIMUM_DISTANCE_CHANGE_FOR_UPDATES = 1; // in Meters private static final long MINIMUM_TIME_BETWEEN_UPDATES = 1800000; // in Milliseconds @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); latituteField = (TextView) findViewById(R.id.TextView02); longitudeField = (TextView) findViewById(R.id.TextView04); locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); // Define the criteria how to select the locatioin provider -&gt; use // default Criteria criteria = new Criteria(); Log.i("ConnTest",locationManager.toString()); provider = locationManager.getBestProvider(criteria, false); Location location = locationManager.getLastKnownLocation(provider); // Initialize the location fields if (location != null) { System.out.println("Provider " + provider + " has been selected."); float lat = (float) (location.getLatitude()); float lng = (float) (location.getLongitude()); latituteField.setText(String.valueOf(lat)); longitudeField.setText(String.valueOf(lng)); } else { latituteField.setText("provider not available"); longitudeField.setText("provider not available"); } txtNetworkInfo = (TextView)findViewById(R.id.txtNetworkInfo); receiver = new ConnectivityReceiver(); registerReceiver(receiver,new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); } @Override protected void onResume() { super.onResume(); //locationManager.requestLocationUpdates(provider,1000, 1, this); locationManager.requestLocationUpdates( provider, MINIMUM_TIME_BETWEEN_UPDATES, MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, this ); } /* Remove the locationlistener updates when Activity is paused */ @Override protected void onPause() { super.onPause(); locationManager.removeUpdates(this); } @Override public void onLocationChanged(Location location) { // TODO Auto-generated method stub float lat = (float) (location.getLatitude()); float lng = (float) (location.getLongitude()); longitudeField.setText(String.valueOf(lng)); latituteField.setText(String.valueOf(lat)); } @Override public void onProviderDisabled(String provider) { // TODO Auto-generated method stub } @Override public void onProviderEnabled(String provider) { // TODO Auto-generated method stub Toast.makeText(this, "Enabled new provider " + provider, Toast.LENGTH_SHORT).show(); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { // TODO Auto-generated method stub Toast.makeText(this, "Disenabled provider " + provider, Toast.LENGTH_SHORT).show(); } protected void Display(Cursor c) { Toast.makeText(this, "rowid: " + c.getString(0) + "\n" + "Latitude: " + c.getString(1) + "\n" + "Longitude: " + c.getString(2) + "\n" + Toast.LENGTH_LONG, 0).show(); } @Override protected void onDestroy() { unregisterReceiver(receiver); super.onDestroy(); } private String getNetworkStateString(NetworkInfo.State state){ String stateString = "Unknown"; switch(state) { case CONNECTED: stateString = "Connected"; break; case CONNECTING: stateString = "Connecting"; break; case DISCONNECTED: stateString = "Disconnected"; break; case DISCONNECTING: stateString = "Disconnecting"; break; case SUSPENDED: stateString = "Suspended"; break; default: stateString = "Unknown"; break; } return stateString; } private class ConnectivityReceiver extends BroadcastReceiver{ private Timer mTimer; private TimerTask mTimerTask; @Override public void onReceive(Context context, Intent intent) { NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); if(null != info) { String state = getNetworkStateString(info.getState()); if(state.equals("Connected")){ try{ mTimer = new Timer(); mTimer.scheduleAtFixedRate(mTimerTask,1000,1800000); mTimerTask = new TimerTask() { @Override public void run() { SoapPrimitive response=null; final String methodname="InsertAllGPSInformation"; request = new SoapObject(NAMESPACE,methodname); envelope.dotNet = true; request.addProperty("Longitude",longitudeField.getText().toString()); request.addProperty("Latitude",latituteField.getText().toString()); request.addProperty("Date",newtime); envelope.setOutputSoapObject(request); String result = null; try { httpTransport.call(NAMESPACE+"IService/"+methodname, envelope); response = ( SoapPrimitive )envelope.getResponse(); result=response.toString(); } catch(Exception e) { Toast.makeText(getBaseContext(), "Your Net Connected or Not Login to Net"+"", Toast.LENGTH_LONG).show(); Log.e("Upload Picture Error:",e.getMessage()); } } }; } catch(Exception e) { Toast.makeText(getBaseContext(),e.getMessage()+"", Toast.LENGTH_LONG).show(); Log.e("Upload Picture Error:",e.getMessage()); } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload