¿Cuál es el nombre del paquete en el constructor RemoteViews?

De la documentación , el constructor de RemoteViews es

 public RemoteViews (String packageName, int layoutId) 

La documentación dice que packageName es "Nombre del paquete que contiene el recurso de diseño".

  • ¿Por qué es necesario?
  • ¿No le diría el layoutId todo lo que necesita saber sobre la ubicación del recurso de diseño?
  • ¿Qué pondrías como nombre del paquete?
  • ¿No sería siempre res-> diseño?

En caso de que tenga varios widgets y aplicaciones y los haya firmado todos con la misma clave (la firma de las aplicaciones con la misma clave les permite acceder a los datos de los demás), entonces puede tener acceso a ellos también, que no tiene el mismo paquete nombre.

Desde Sirlate ha contestado "¿Por qué es necesario?", Voy a tratar de responder el resto de las preguntas.

¿No le diría el layoutId todo lo que necesita saber sobre la ubicación del recurso de diseño?

No, layoutId , como el ID de otros recursos es sólo un número. Cuando lo hace referencia a través de R.layout.some_layout , en realidad se refiere de nuevo a la ID misma, como un número.

¿No sería siempre res-> diseño?

¡En realidad no! Puede colocar cualquier recurso en cualquier carpeta (siempre y cuando dentro /res ) incluso si es un recurso de diseño. /res/layout/ es sólo una carpeta conveniente ya que Android ya lo define en primer lugar. Después de todo, Android sólo se referirá a los recursos como número de identificación.

¿Qué pondrías como nombre del paquete?

El nombre del paquete de la aplicación que desea utilizar el diseño, como indica Sirlate.

¿Por qué es necesario?

Además de la respuesta de Sirlate, si solo tiene un ID de recurso, será imposible que el sistema operativo decida de qué paquete / aplicación es el diseño.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.