De acuerdo con los documentos de Android, el nombre adicional de intención debe tener un prefijo de paquete. He estado utilizando los nombres adicionales de Intent sin prefijos durante mucho tiempo y parece que no hay posibilidad de colisión, ya que lo que realmente importa es que la acción Intención sea única. Entonces, ¿los documentos están equivocados o me estoy perdiendo algo?¿Por qué los documentos de Android dicen que los extras de intención necesitan el prefijo de paquete
la documentación para putExtra dicen:
Agregar datos extendidos a la intención. El nombre debe incluir un prefijo de paquete, por ejemplo, la aplicación com.android.contacts usará nombres como "com.android.contacts.ShowAll".
¿No podría simplemente suministrar el paquete como un extra también? En casos como estos parece que sería mejor que primero compruebe su paquete de origen y luego maneje los Extras basados en eso, a menos que algunas de sus Actividades de envío puedan agregar extras con los significados de otras Actividades de envío (lo que podría terminar siendo muy confuso, pero podría tener uso si está configurando algún tipo de actividad o servicio proxy que manipule los extras de las Intenciones que transfiere). – JAB
Estoy de acuerdo con @JAB. ¿No sería el predeterminado que no está manejando los datos de intención "extra" de manera diferente según el solicitante, pero si hiciera eso, requeriría que se proporcione un nombre de paquete como un intento "extra" adicional? datos para que pueda distinguir fácilmente ** y ** validar? –
Puede suministrar y requerir el nombre de su paquete como otro extra más y eso mantendría su aplicación segura, pero otras aplicaciones no verificarán ese extra no estándar. Por lo tanto, si usa una acción de intención pública y no califica completamente todos sus nombres adicionales no estándares, podría romper otras aplicaciones. – satur9nine