Problemas con múltiples alertas de proximidad -- android campo con broadcastreceiver campo con alert campo con android-pendingintent campo con proximity camp Relacionados El problema

Problems with multiple proximity alerts


2
vote

problema

Español

He encontrado algunos hilos relacionados con múltiples alertas de proximidad, pero ninguna de ellas resuelve mi problema = (

Tengo una clase que crea múltiples alertas de proximidad (este es el código importante):

  app4  

y este es el receptor, eso muestra una notificación:

  app5  

El problema es que estoy recibiendo demasiados "transmisiones de difusión" con el mismo punto para la latitud y la longitud. Por ejemplo, esta es la última información de Logcat:

39.495412, -0.354705

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

39.4605203, -0.3478213

... [los mismos valores]

¿Cuál es el problema? ¿Cómo puedo recibir solo diferentes latitudes y longitudes?

Original en ingles

I've found some threads related with multiple proximity alerts, but none of them solve my problem =(

I've a class that creates multiple proximity alerts (this is the important code):

public void activateAlerts(){     Database db = new Database(activity.getApplicationContext());     Cursor cursor = db.getPois();      locationManager = (LocationManager) activity.getSystemService(Context.LOCATION_SERVICE);      int latitudeIndex = cursor.getColumnIndex("latitude");     int longitudeIndex = cursor.getColumnIndex("longitude");      IntentFilter filter = new IntentFilter(PROX_ALERT_INTENT);      while(cursor.moveToNext()){         double latitude = cursor.getDouble(latitudeIndex);         double longitude = cursor.getDouble(longitudeIndex);          Bundle bundle = new Bundle();         bundle.putDouble("latitude",latitude);         bundle.putDouble("longitude",longitude);          Intent intent = new Intent(PROX_ALERT_INTENT);         intent.putExtras(bundle);          Random generator = new Random();         PendingIntent pi = PendingIntent.getBroadcast(activity.getApplicationContext(), generator.nextInt(), intent, 0);          getActivity().registerReceiver(new AlertIntentReceiver(), filter);         locationManager.addProximityAlert(latitude, longitude, 2500, -1, pi);     }     Log.i("ALERT", "ALERT"); } 

And this is the receiver, that shows a notification:

public void onReceive(Context context, Intent intent) {      Bundle b = intent.getExtras();     double latitude = b.getDouble("latitude");     double longitude = b.getDouble("longitude");      Log.i("ALERT", latitude+","+longitude);      NotificationManager notificationManager =             (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);       Intent intentPi = new Intent(context, MainActivity.class);      PendingIntent pintent = PendingIntent.getActivity(context,0,intentPi,0);      Notification mBuilder =             new NotificationCompat.Builder(context)                     .setSmallIcon(R.drawable.ic_launcher)                     .setContentTitle(context.getResources().getString(R.string.app_name))                     .setAutoCancel(true)                     .setContentText(context.getResources().getString(R.string.notification))                     .addAction(R.drawable.ic_directions_grey_24dp,"Map",pintent)                     .build();      notificationManager.notify(NOTIFICATION_ID,mBuilder); } 

The problem is that I'm receiving too many "BroadcastReceivers" with same point for the latitude and longitude. For example, this is the last Logcat information:

39.495412,-0.354705

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

39.4605203,-0.3478213

... [same values]

What is the problem? How can I receive only different latitude and longitude?

              
   
   

Lista de respuestas

0
 
vote

Tal vez tenga que tener una actualización de ubicación continuada usando las actualizaciones de la ubicación de la solicitud o el oyente de ubicación:

 

maybe you have need to have a continued location update using Request Location Updates or Location Listener:

 
 
 
 

Relacionados problema

6  Ayuda con proximity_screen_off_wake_lock en Android  ( Help with proximity screen off wake lock in android ) 
He permitido la proximidad Wakelock en mi aplicación, y apaga la pantalla cuando el sensor de proximidad detecta algo. Pero hay un problema cuando la pantalla...

1  Sensores de Android: problemas para obtener valores y problemas de los sensores de proximidad con el uso de diferentes teléfonos  ( Android sensors problem getting proximity sensor values and problems with usin ) 
Hemos hecho algunos desarrolladores de Android en el pasado, pero ha pasado un tiempo: desea construir una aplicación que use sensores de orientación y proxim...

4  SolR proximidad ordenada vs desordenados  ( Solr proximity ordered vs unordered ) 
En SOLR, puede realizar una búsqueda de proximidad ordenada usando Syntax "word1 word2"~10 por ordenado, me refiero a Word1 siempre llegará antes de Wo...

0  Obtener solo una fila para un valor de columna determinado  ( Getting only one row for a given column value ) 
La estructura básica de mi consulta es esta: Tengo una tabla profiles con información de perfil Tengo una tabla locations6 con coordenadas de ubicaci...

20  Sensor de proximidad del iPhone  ( Iphone proximity sensor ) 
¿Puede el iPhone SDK aprovechar los sensores de proximidad del iPhone? Si es así, ¿por qué nadie ha aprovechado a ellos? Podría imaginar algunos usos decentes...

4  La mejor manera de realizar la búsqueda de rango de corredor en un conjunto de coordenadas de latitud / longitud  ( How best to perform corridor range search over a set of latitude longitude coo ) 
Cuál sería el mejor enfoque para encontrar el conjunto de coordenadas, de decir Aproximadamente 5,00, que se encuentran dentro de un camino de puntos, dado un...

6  Bluetooth RSSI / Scan Scan On Mac - Detección de proximidad al iPhone sin conectar?  ( Bluetooth rssi inquiry scan on mac proximity detection to iphone without conne ) 
Tengo que salir de la computadora con frecuencia, y quiero activar algunos comandos para ejecutarse cuando mi iPhone está lo suficientemente cerca / lo sufici...

1  ¿Cómo hago un tiempo real? Búsqueda de resultados basados ​​en la distancia de conducción?  ( How do i do real time search for results based on driving distance ) 
Tengo una base de datos de eventos (en el Reino Unido) y sus códigos postales (códigos postales). El usuario ingresará su código postal en la página web y i...

1  Cómo detectar una capacidad recreable del chip NFC  ( How to detect writeable capacity of nfc chip ) 
Quiero saber la capacidad escrita de una etiqueta. ¿Qué estoy haciendo: suscribir un mensaje m_proxdevice.subscribeFormessage ("WRITEABLETAG", Ontagd...

1  Comunicación de dispositivos o notificación basada en la proximidad  ( Device communication or notification based on proximity ) 
¿Cómo facilitaría una comunicación entre dispositivos basados ​​en la proximidad dada una aplicación en particular? ¿Es posible en este punto? Por ejemplo, si...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos