List of usage examples for android.location LocationManager KEY_PROXIMITY_ENTERING
String KEY_PROXIMITY_ENTERING
To view the source code for android.location LocationManager KEY_PROXIMITY_ENTERING.
Click Source Link
From source file:org.jboss.aerogear.cordova.geo.ProximityReceiver.java
@Override public void onReceive(Context context, Intent intent) { String id = intent.getData().getLastPathSegment(); String status = intent.getBooleanExtra(LocationManager.KEY_PROXIMITY_ENTERING, false) ? "entered" : "left"; Log.d(TAG, "received proximity alert for region " + id + " with status " + status); GeofencingPlugin.sendNotification(id, status); if (!GeofencingPlugin.isInForeground()) { createNotification(context, id, status); }/*from w w w. ja v a2s .c om*/ }
From source file:com.example.programming.proximityalerts.ProximityAlertService.java
@Override public void onLocationChanged(Location location) { float distance = getDistance(location); if (distance <= radius && !inProximity) { inProximity = true;/* w ww. j av a2s . c o m*/ Log.i(TAG, "Entering Proximity"); Intent intent = new Intent(ProximityPendingIntentFactory.PROXIMITY_ACTION); intent.putExtra(LocationManager.KEY_PROXIMITY_ENTERING, true); sendBroadcast(intent); } else if (distance > radius && inProximity) { inProximity = false; Log.i(TAG, "Exiting Proximity"); Intent intent = new Intent(ProximityPendingIntentFactory.PROXIMITY_ACTION); intent.putExtra(LocationManager.KEY_PROXIMITY_ENTERING, true); sendBroadcast(intent); } else { float distanceFromRadius = Math.abs(distance - radius); // Calculate the distance to the edge of the user-defined radius // around the target location float locationEvaluationDistance = (distanceFromRadius - location.getAccuracy()) / 2; if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions // here to request the missing permissions, and then overriding // public void onRequestPermissionsResult(int requestCode, String[] permissions, // int[] grantResults) // to handle the case where the user grants the permission. See the documentation // for ActivityCompat#requestPermissions for more details. return; } locationManager.removeUpdates(this); float updateDistance = Math.max(1, locationEvaluationDistance); String provider; if (distanceFromRadius <= location.getAccuracy() || LocationManager.GPS_PROVIDER.equals(location.getProvider())) { provider = LocationManager.GPS_PROVIDER; } else { provider = LocationManager.NETWORK_PROVIDER; } locationManager.requestLocationUpdates(provider, 0, updateDistance, this); } }
From source file:it.polimi.proximityapi.TechnologyManager.java
/** * Implementation of BroadcastReceiver methods *///from w ww .j ava2s .com @Override public void onReceive(Context context, Intent intent) { //Retrieve POI data from intent String proxDataName = intent.getStringExtra(JsonStrings.NAME); boolean enterEvent = intent.getBooleanExtra(LocationManager.KEY_PROXIMITY_ENTERING, false); String log = (enterEvent ? "Entry in " : "Exit from ") + " geofence " + proxDataName; Log.i(TAG, log); for (ProximityData p : proximityData) if (p.getID().equals(proxDataName)) { if (p.isNeed_geofence()) { //callback for geofence events if (enterEvent) { p.setWithin_geofence(true); p.getProxListener().onEnterGeofenceArea(null); bleProvider.onNewProximityRequest(p); } else { p.setWithin_geofence(false); p.getProxListener().onExitGeofenceArea(null); bleProvider.onRemoveProximityRequest(p); } } } }