Método de descubrimiento de gancho para Xposed Module
Estoy tratando de hacer un módulo Xposed. Primero leí un tutorial que tenía instrucciones para manipular el reloj. El código es como:
package de.robv.android.xposed.mods.tutorial; import static de.robv.android.xposed.XposedHelpers.findAndHookMethod; import android.graphics.Color; import android.widget.TextView; import de.robv.android.xposed.IXposedHookLoadPackage; import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam; public class Tutorial implements IXposedHookLoadPackage { public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable { if (!lpparam.packageName.equals("com.android.systemui")) return; findAndHookMethod("com.android.systemui.statusbar.policy.Clock", lpparam.classLoader, "updateClock", new XC_MethodHook() { @Override protected void afterHookedMethod(MethodHookParam param) throws Throwable { TextView tv = (TextView) param.thisObject; String text = tv.getText().toString(); tv.setText(text + " :)"); tv.setTextColor(Color.RED); } }); } }
Quiero hacer mi propio módulo ahora en el que tengo que realizar alguna operación después de que el bloqueo de patrón es ingresado. Después de introducir el patrón, quiero leer el patrón y realizar alguna operación de acuerdo con el patrón. Por favor, ayúdame a este respecto. Ni siquiera soy capaz de identificar el método para gancho. Yo estaba tratando de encontrarlo en: http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/
- Aspectj con la biblioteca de Android
- Android studio sdk versión 22 excepción durante la renderización: action_bar
- ¿Cómo puedo obtener nodos específicos de XML usando XPath en Java?
- Java calcular el tiempo entre dos timestamps
- Importación de un nuevo tarjet de Apache HttpClient en Android
¡Gracias!
- Fusión de manifiesto de Gradle de Android: reemplaza el atributo 'uses-permission' procedente de una biblioteca
- Proporcionando datos de prueba para SharedPreferences para Robolectric
- ArrayList como variable global
- Descargar Android SDK de forma programática
- SetMaxDate () no funciona perfectamente en Lollipop 5.0.1 android y necesita una solución adecuada
- FragmentMap + ActionBar Tab
- ¿Cómo utilizar VPN en Android?
- rxjava interval () tiempo de reinicio después de algún evento
Busqué un poco en las fuentes del keyguard en androide git, y encontré este método con este método que debe gancho. En este método, obtiene acceso directo al patrón en el momento adecuado.
findAndHookMethod("com.android.internal.widget.LockPatternUtils", lpparam.classLoader, "checkPattern", List.class /*You need to name the attribute's data type, I'm still not sure if List.class is enough, as the type is List<LockPatternView.Cell>*/, new XC_MethodHook() { @Override protected void afterHookedMethod(MethodHookParam param) throws Throwable { List<?> pattern = param.args[0]; // Proceed… } });
Como un poco más, encontré un método estático que podría usar para convertir el patrón en una cadena para una mejor usabilidad: LockPatternUtils.patternToString ()
Class[] c = new Class[1]; c[0] = List.class; XposedHelpers.callStaticMethod(XposedHelpers.findClass("com.android.internal.widget.LockPatternUtils", lpparam.classLoader), "patternToString", c, pattern);
- El diálogo de progreso no se muestra en la pantalla
- Android Marshmallow – Llamada a un módulo de biblioteca (biblioteca nativa) de otro módulo de biblioteca que se estrelló