Red de conocimiento informático - Material del sitio web - Cómo generar una instancia de interfaz interna oculta mediante reflexión y pasarla como parámetro

Cómo generar una instancia de interfaz interna oculta mediante reflexión y pasarla como parámetro

I. Introducción

En el código fuente de Android, hay muchas API que están ocultas y no se puede acceder a ellas a través del SDK en eclipse. Estas API son clases/interfaces completas o métodos o variables específicos, que se identifican en el código fuente mediante el carácter "@hide" en los comentarios de la documentación. Si necesitamos acceder a estos métodos y clases ocultos, podemos usar los dos métodos siguientes:

1. Acceder en el entorno del código fuente, es decir, colocar nuestro proyecto en el código fuente para su compilación, para que usted pueda acceder a estos métodos y clases ocultos. puede acceder a él;

2. A través del mecanismo de reflexión de Java

2. Descripción del escenario

A continuación se explica cómo acceder directamente a la API oculta del sistema a través de la reflexión. Mecanismo en eclipse describir. Ejemplo:

La clase android.app.ActivityManagerNative define un método setActivityController (escucha IActivityController). Cuando el sistema inicia una actividad, se llama al método de devolución de llamada de IAcitivityController.

En el proyecto, puede obtener el objeto ActivityManagerNative y generar una instancia de IActivityController como parámetro de setActivityController(), de modo que pueda escuchar al sistema para iniciar la Actividad en el proyecto.

ActivityManagerNative.java e IAcitivityController.aidl son API ocultas, como se muestra a continuación:

[java] view Plaincopy

paquete android.app

/** {@hide} */

Paquete android.app

;