¿Cómo reconstruir la aplicación "Launcher" por defecto?

Mi objetivo es modificar la aplicación de Launcher y modificar dinámicamente y cambiar el tema.

Vi varias aplicaciones de "casa" en http://www.cyrket.com/p/android/com.stain46.taghome/ . Parece que tomaron el inicio por defecto (Lanzador) y lo modificaron. ¿Cómo lo hicieron? ¿Qué necesito modificar para lograr lo mismo?

He hecho esto con el lanzador de ICS. También es necesario hacer una gran cantidad de cambios de código para que se compile como una aplicación normal, ya que utiliza una gran cantidad de APIs internas privadas (a pesar de lo que Google puede haber implicado). También necesita cambiar el nombre del paquete. Hay dos limitaciones que he encontrado:

  1. Hay un filtro llamado TableMaskFilter que no está disponible para las aplicaciones normales. Creo que esto permite que el cajón de la aplicación sea semi-transparente, pero he eliminado los usos de él y parece bien, creo.

  2. Más críticamente, parece que no hay forma de replicar la experiencia de añadir widget, ya que requiere un permiso que sólo las aplicaciones del sistema pueden tener. Vea esta pregunta.

De todos modos, pongo mi fuente aquí . Compila y funciona en el oficial de Galaxy S2 4.0.3, pero si intenta agregar widgets se bloqueará.

Tenga en cuenta que cuando cambia el nombre del paquete, hay lugares que el refactor de Eclipse no detecta (por ejemplo, diseños XML). Le recomiendo hacer una búsqueda de texto global / reemplazar en su lugar.

El lanzador estándar es de código abierto por lo que definitivamente puede agarrar y modificar de la manera que desee. Para que su aplicación se utilice como pantalla principal, deberá especificar el filtro de intención correcto en su AndroidManifest.xml y el usuario tendrá que elegir su aplicación cuando presione el botón Inicio. ¿Por qué no agarrar ese código, jugar con él y volver cuando tenga más preguntas y más de una idea de lo que quiere cambiar.

Aquí he encontrado una versión estable Launcher2

Tengo compartir ese reporte de GitHub. AQUÍ

WIKI de este proyecto:

Este proyecto contiene el código de la aplicación Launcher que se incluye con Android Jelly Bean (API 16).

Algunos cambios menores se requerían de este código fuente para eliminar el uso de APIs privadas. Estos cambios se han marcado con "// AOSP Change"

  • Impedir automáticamente las aplicaciones que empiezan desde el lanzador
  • Lista de lanzadores open-source android
  • Una gran cantidad de errores después de Android 2.3 Launcher Source Code se importa en mi espacio de trabajo
  • Adición de widgets a una página de lanzamiento sin bindAppWidgetId ()
  • Aplicación de llamada telefónica abierta de Android
  • Actividad dinámica de inicio en Android?
  • Detección de lanzamientos de actividades de Android
  • Proceso de construcción de Android secreto
  • Establecer google como barra de búsqueda en la pantalla de inicio Lanzador personalizado programáticamente
  • ¿Por qué aparece mi aplicación 4 veces en mi dispositivo?
  • Diferenciar entre un inicio de actividad de la pantalla de inicio o de otra actividad de la aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.