Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android Geofencing

He pasado por el tutorial de Geofencing y tengo una pregunta en mente.

¿La localización geográfica requiere que supervise continuamente la ubicación del usuario?

¿O el LocationClient al que agrega Geofence se activará automáticamente cuando una transición haya sido orcurada?

Esto podría parecer una pregunta obvia, pero el tutorial nunca mencionó nada acerca de solicitar actualizaciones de ubicación desde el administrador de ubicaciones.

  • DistanceBetween () devuelve un resultado incorrecto?
  • Cómo obtener la ubicación actual en Android
  • Obtención de coordenadas GPS más rápido mediante programación sin Internet, pero utilizando el proveedor de red y GPS móvil
  • ¿Cuál es el proveedor de ubicación "pasivo"? Visto en HTC Desire con Android 2.2
  • No puede setInterval en onLocationChanged
  • No se puede iniciar el servicio - Requiere ACCESS_MOCK_LOCATION configuración segura
  • ¿Por qué nunca se llama a mi OnLocationChanged ()?
  • PRIORITY_LOW_POWER vs PRIORITY_BALANCED_POWER_ACCURACY para el servicio de Google Play v2
  • 2 Solutions collect form web for “Android Geofencing”

    Hola depende del requisito. El seguimiento de ubicación en la aplicación se puede implementar de las siguientes maneras dependiendo del requisito particular. 1. Solicite una ubicación de disparo del dispositivo donde sea necesario Si la aplicación solicita la ubicación actual del dispositivo en la pantalla, diga que algunas API necesitan lat-long como entrada o necesitan usar lat-long nativamente para mostrar información sobre la ubicación actual de la pantalla, la pantalla del mapa etc. , La aplicación puede solicitar el administrador de ubicación para obtener la ubicación actual del dispositivo en la misma clase de actividad.Este enfoque no es el uso de seguimiento continuo ahorra batería utilizada por la aplicación. Y el mejor adecuado cuando la ubicación se necesita en un determinado o pocas pantallas, pero puede dar una ubicación menos precisa

    2. Enfoque basado en el temporizador / servicio para el seguimiento continuo de la ubicación Si la aplicación exige un seguimiento continuo de la ubicación en primer plano, así como de fondo, puede escribir su propio servicio para localizar la ubicación en el intervalo oportuno. En tal implementación, el servicio comienza a escuchar las actualizaciones de ubicación en algún momento y desactiva todas las actualizaciones en algún momento.

    El uso de un servicio propio para el seguimiento de la localización le da la capacidad de rastrear la ubicación en el fondo también. La precisión deseada puede cumplirse si el intervalo del temporizador se decide en consecuencia. Enfoque basado en Geo para el seguimiento continuo de localización

    3. Enfoque basado en Geo para el seguimiento continuo de localización Google Play Services ha facilitado el monitoreo del área de localización geográfica de cierto radio que se denomina valla Geo. No hay necesidad de escribir su propio servicio para el seguimiento de la ubicación continua. Mejor optimización de la batería en comparación con el temporizador / enfoque basado en el servicio. Este enfoque no es adecuado cuando la aplicación exige el seguimiento de ubicación para actualizaciones de ubicación de minutos

    Para obtener más información, visite http://mobisoftinfotech.com/3-ways-to-implement-efficient-location-tracking-in-android-applications/

    public class MainActivity extends FragmentActivity implements OnMarkerDragListener { private GoogleMap googleMap; private int distance; private SupportMapFragment mapFragment; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SupportMapFragment mapFragment = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map)); googleMap = mapFragment.getMap(); googleMap.setOnMarkerDragListener(this); distance = 100; googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng( 26.788707, 75.828108), 15)); createGeofence(26.788707, 75.828108, distance, "CIRCLE", "GEOFENCE"); } private void createGeofence(double latitude, double longitude, int radius, String geofenceType, String title) { Marker stopMarker = googleMap.addMarker(new MarkerOptions() .draggable(true) .position(new LatLng(latitude, longitude)) .title(title) .icon(BitmapDescriptorFactory .fromResource(R.drawable.stop_marker))); googleMap.addCircle(new CircleOptions() .center(new LatLng(latitude, longitude)).radius(radius) .fillColor(Color.parseColor("#B2A9F6"))); } @Override public void onMarkerDrag(Marker marker) { } @Override public void onMarkerDragEnd(Marker marker) { LatLng dragPosition = marker.getPosition(); double dragLat = dragPosition.latitude; double dragLong = dragPosition.longitude; googleMap.clear(); createGeofence(dragLat, dragLong, distance, "CIRCLE", "GEOFENCE"); Toast.makeText( MainActivity.this, "onMarkerDragEnd dragLat :" + dragLat + " dragLong :" + dragLong, Toast.LENGTH_SHORT).show(); Log.i("info", "on drag end :" + dragLat + " dragLong :" + dragLong); } @Override public void onMarkerDragStart(Marker marker) { } main .xml < ?xml version="1.0" encoding="utf-8"?> < RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > < fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment" /> < /RelativeLayout> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.