Si 2 transmisiones, A y B, y enviadas en ese orden, ¿garantiza Android que todos los receptores interesados las recibirán en el mismo pedido?¿Se reciben las transmisiones de Android en orden?
Respuesta
Creo que está preguntando si hay alguna manera de garantizar que cada receptor interesado reciba su respectiva Difusión A antes de recibir la Difusión B. La mejor respuesta que puedo dar es que es muy probable, porque todas las transmisiones se pasan a el ActivityManager
que debería manejarlos a su vez. Pero no creo que haya nada en el marco que "garantice" este comportamiento (no puedo encontrar una cola en ActivityManager donde están todos publicados o algo así). Además, BroadcastReceiver
solo manejará un intento a la vez, lo que ayuda.
Si en lugar de eso quiere decir "¿puedo controlar el orden de los receptores en los que se envía cada emisión?", Entonces su respuesta se encuentra en sendOrderedBroadcast()
, como otros han eludido.
Es posible que desee utilizar sendOrderedBroadcast (si tiene el control de esto) para garantizar el pedido.
Aunque puedo ver que la confusión es, por desgracia, esto no es una solución porque 'sendOrderedBroadcast'provides un medio para asegurar una sola emisión dada es consumida por los receptores en una orden de prioridad Desafortunadamente, no tiene nada que ver con la preservación del orden en que se reciben múltiples transmisiones por separado, que es a lo que se refiere la pregunta. – Trevor
Usted podría tener la verificación de comportamiento para la transmisión A y si no está allí, no use B hasta que ocurra A? ¿Entonces podrían ser recibidos al revés, pero aún así actuaron correctamente?
¿Cómo se comprueba el comportamiento de la transmisión? ¿Esto lo hace el receptor? Gracias. –
Una variación de esta idea podría ser que el emisor de difusión inserta un número de secuencia creciente dentro del 'Intento' de cada emisión que envía.De esta forma, los receptores pueden detectar si las transmisiones consecutivas se recibieron en un orden diferente al que se transmitieron y tomar las medidas apropiadas. Esta podría ser una buena medida de seguridad con correas y abrazaderas, hasta que alguien pruebe que el sistema Android garantiza el orden (lo que sería mejor). – Trevor
Algunos más información sobre este tema se puede encontrar aquí:
ejecución Receptor de radio.
https://groups.google.com/forum/#!topic/android-developers/ClIGNuGJUts
En el enlace de arriba escribe Dianne Hackborn ...
"Un receptor particular sólo puede procesar una emisión a la vez. Como sucede cada emisión, se procesa para determinar la objetivos a los que debe ir y enviados a la cola de mensajes para cada destino. Cuando se envía una transmisión posterior, generalmente no se moverá antes de la cola.
Para las transmisiones de encendido/apagado de la pantalla, puede confiar en el más rec En la emisión, se obtiene el estado actual de la pantalla. una vez que todo se haya establecido. No se puede confiar en el pedido con otras transmisiones, u otros receptores de radiodifusión, que también pueden estar recibiendo las transmisiones."
Este artículo sugiere que posiblemente usando sendBroadcastSync() para la entrega síncrona, pero no está garantizada.
Does LocalBroadcastManager deliver events in the order in which the events wer sent?
Esta debe ser la respuesta votada y aceptada, ya que tiene referencias oficiales. – Blaisorblade
- 1. Ventajas de usar flush() close() en las transmisiones de Android?
- 2. ¿Puede iOS recibir transmisiones como Android?
- 3. ¿Las transmisiones se cierran automáticamente por error?
- 4. ¿Qué desencadena las transmisiones BluetoothDevice.ACTION_ACL?
- 5. Anular las transmisiones de C++
- 6. Cuándo se producirá una EOFException en las transmisiones de JAVA
- 7. Cómo deshabilitar las transmisiones RSS en STS?
- 8. Wireshark no reconoce las transmisiones RTMP
- 9. ¿Los datagramas siempre se reciben por completo?
- 10. Android: teclas KeyListener para una EditarTexto que no reciben
- 11. Boost - reciben todas las entradas en la sección
- 12. C# usando transmisiones
- 13. ¿Qué hay de malo en las transmisiones de C++ cuando se utiliza boost.python?
- 14. ¿Cómo puedo concatenar perfectamente las transmisiones de MP3?
- 15. No se pueden recibir transmisiones para intenciones de PAQUETE
- 16. Abortar/cancelar transmisiones
- 17. orden de Android arreglo
- 18. orden Z en xml android
- 19. ¿Cómo se establece el orden de las bibliotecas en automake?
- 20. Todas las solicitudes reciben HTTP Error 401.2 - Respuesta no autorizada
- 21. Obteniendo múltiples transmisiones desde intenciones?
- 22. C++ 11: ¿En qué orden se destruyen las capturas lambda?
- 23. SPFileVersionCollection: ¿por qué las versiones se ordenan en orden mixto?
- 24. Registro, StreamHandler y transmisiones estándar
- 25. Orden de las bibliotecas vinculadas en ocamlbuild
- 26. Tratamiento de archivos 7z como transmisiones .NET
- 27. ¿Reciben los tipos de valor la basura?
- 28. Envío de transmisiones por correo electrónico
- 29. ¿Cómo manejar múltiples transmisiones de video en Red5?
- 30. ¿Cómo evito cerrar un InputStream pasado a mi método que envuelvo en las transmisiones de Reader?
Solo por curiosidad, no tienes ninguna actualización para esta respuesta, ¿o sí? Tengo mucha curiosidad sobre lo mismo en este momento. ¡Gracias! – Patrick87