La aplicación Facebook Home realmente no hace mucho por sí misma. Obtiene todos sus datos de la aplicación principal de Facebook, por lo que no necesita acceder a Internet. Al realizar cualquier acción desde el iniciador se usa la intención de iniciar la aplicación principal de Facebook, por lo que no es necesario (por ejemplo) acceder a su ubicación o tomar fotos para hacer publicaciones: solo lo hace la aplicación principal de Facebook.
Para tomar otro ejemplo, digamos que usa Facebook Home para "gustar" algo. Facebook Home no va a los servidores de Facebook: le dice a la aplicación principal de Facebook (en su teléfono, por lo que no usa Internet) que le "guste" la cosa. A continuación, la principal aplicación de Facebook (que lo hace tener el permiso de Internet) utiliza Internet para decirle a los servidores de Facebook acerca de la "similares".
Lo mismo vale para el tamaño. Toda la funcionalidad de Facebook, código de sincronización, gráficos de botones personalizados, bibliotecas, etc. se encuentran en la aplicación principal de Facebook, entonces, ¿por qué los duplicarían en Facebook Home? Facebook Home probablemente solo tiene un pequeño código para diseñar la pantalla de inicio, algunos íconos y la información que Android necesita para comprender que la aplicación es un iniciador.
Las aplicaciones se pueden usar de esta manera porque ambas son del mismo desarrollador. (En realidad, hay un poco más que eso, pero ese es el primer requisito). Android verifica esto al mirar las firmas en cada aplicación para verificar que ambos hayan firmado con la misma clave privada : en este caso, una clave que Facebook ( La compañía tiene. Sin esta clave privada, otro desarrollador no puede crear otra aplicación (o modificar esta aplicación) que pueda usar la aplicación de Facebook de esta manera.
También es posible que una aplicación cree un nuevo tipo de permiso. Entonces, como ejemplo, la aplicación principal de Facebook podría crear un permiso de "leer mi línea de tiempo de Facebook", y luego podría escribir una aplicación Dan's Bookface , que podría solicitar ese permiso para leer la línea de tiempo directamente desde la aplicación de Facebook , sin necesidad del permiso de "internet". Cuando instala Dan's Bookface , verá "leer mi línea de tiempo de Facebook" en la lista de permisos al igual que lo hace con los permisos integrados en el sistema.