Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MyService extends Service {
- private static final String TAG = "BOOMBOOMTESTGPS";
- private LocationManager mLocationManager = null;
- private static final int LOCATION_INTERVAL = 1000;
- private static final float LOCATION_DISTANCE = 10f;
- private class LocationListener implements android.location.LocationListener {
- Location mLastLocation;
- public LocationListener(String provider) {
- Log.e(TAG, "LocationListener " + provider);
- mLastLocation = new Location(provider);
- }
- @Override
- public void onLocationChanged(Location location) {
- Log.e(TAG, "onLocationChanged: " + location);
- setdatatoserver(location);
- mLastLocation.set(location);
- }
- @Override
- public void onProviderDisabled(String provider) {
- Log.e(TAG, "onProviderDisabled: " + provider);
- }
- @Override
- public void onProviderEnabled(String provider) {
- Log.e(TAG, "onProviderEnabled: " + provider);
- }
- @Override
- public void onStatusChanged(String provider, int status, Bundle extras) {
- Log.e(TAG, "onStatusChanged: " + provider);
- }
- }
- LocationListener[] mLocationListeners = new LocationListener[]{
- new LocationListener(LocationManager.GPS_PROVIDER),
- new LocationListener(LocationManager.NETWORK_PROVIDER)
- };
- @Override
- public IBinder onBind(Intent arg0) {
- return null;
- }
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- Log.e(TAG, "onStartCommand");
- Toast.makeText(this, "service starting...", Toast.LENGTH_SHORT).show();
- super.onStartCommand(intent, flags, startId);
- return START_STICKY;
- }
- @Override
- public void onCreate() {
- Log.e(TAG, "onCreate");
- initializeLocationManager();
- try {
- mLocationManager.requestLocationUpdates(
- LocationManager.NETWORK_PROVIDER, LOCATION_INTERVAL, LOCATION_DISTANCE,
- mLocationListeners[1]);
- } catch (java.lang.SecurityException ex) {
- Log.i(TAG, "fail to request location update, ignore", ex);
- } catch (IllegalArgumentException ex) {
- Log.d(TAG, "network provider does not exist, " + ex.getMessage());
- }
- try {
- mLocationManager.requestLocationUpdates(
- LocationManager.GPS_PROVIDER, LOCATION_INTERVAL, LOCATION_DISTANCE,
- mLocationListeners[0]);
- } catch (java.lang.SecurityException ex) {
- Log.i(TAG, "fail to request location update, ignore", ex);
- } catch (IllegalArgumentException ex) {
- Log.d(TAG, "gps provider does not exist " + ex.getMessage());
- }
- }
- @Override
- public void onDestroy() {
- Log.e(TAG, "onDestroy");
- super.onDestroy();
- if (mLocationManager != null) {
- for (int i = 0; i < mLocationListeners.length; i++) {
- try {
- mLocationManager.removeUpdates(mLocationListeners[i]);
- } catch (Exception ex) {
- Log.i(TAG, "fail to remove location listners, ignore", ex);
- }
- }
- }
- }
- private void initializeLocationManager() {
- Log.e(TAG, "initializeLocationManager");
- if (mLocationManager == null) {
- mLocationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);
- }
- }
- public void setdatatoserver(Location location) {
- Toast.makeText(this, "Location is "+location, Toast.LENGTH_SHORT).show();
- FirebaseDatabase database = FirebaseDatabase.getInstance();
- DatabaseReference myRef = database.getReference("locations");
- myRef.push().setValue("New Location:"+ location);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement