¿Cómo crear una devolución de llamada usando la reflexión en Android?
Estoy intentando acceder a un método usando la reflexión y uno de los parámetros es una devolución de llamada. El tipo de devolución de llamada es una interfaz genérica de diferente tipo de clase. Estas clases son@SystemApi
e puede acceder a @ por reflexión. @Aqu es la clase con la que estoy trabajand
Debajo está mi código de muestra:
String sClassName = "android.telephony.euicc.EuiccCardManager";
Class classToInvestigate = Class.forName(sClassName);
Class interfaceclass = classToInvestigate.getClasses()[0]; //android.telephony.euicc.EuiccCardManager.ResultCallback
Method getallprofiles = classToInvestigate.getDeclaredMethod("requestAllProfiles", String.class,Executor.class, interfaceclass);
getallprofiles.invoke(null,getEid(), AsyncTask.THREAD_POOL_EXECUTOR,null);
En lo anteriorinvoke
firma como último parámetro Necesito pasar la devolución de llamada creada usando la reflexión y que es equivalente o similar a la muestra de devolución de llamada siguiente.
ResultCallback<EuiccProfileInfo[]> callback =
new ResultCallback<EuiccProfileInfo[]>() {
@Override
public void onComplete(int resultCode, EuiccProfileInfo[] result) { }
};
a interfaz de ResultCallback anterior se puede encontrar en el mismo enlace de clase que proporcioné anteriormente y la misma instancia eninterfaceclass
campo de arriba.EuiccProfileInfo es la otra clase que necesita acceder desde la reflexión porque es@SystemApi
He fallado / atascado para traducir la lógica de devolución de llamada anterior con reflexión. ¿Alguien me puede ayudar en esto?