sensorManager.registerListener(new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}, sensorGravity, SensorManager.SENSOR_DELAY_NORMAL);
怎么hook这里的SensorEventListener?
目标是hook住android.hardware.SensorManager.registerListener(SensorEventListener listener, Sensor sensor, int samplingPeriodUs)
的listener
里的onSensorChanged(SensorEvent event)
这个函数.
XposedHelpers.findAndHookMethod("android.hardware.SensorManager", loadPackageParam.classLoader, "registerListener", SensorEvent.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
SensorEventListener event = (SensorEventListener) param.args[0];
}
});
在官方教程里找不到描述这种hook的方法
개인 테스트: 달러 기호를 사용하여 내부 클래스를 연결합니다.
를 참조하세요.http://stackoverflow.com/questions/22528...
xposed(땀)에 대해서는 잘 모르겠지만 Java 클래스의 익명 클래스는 컴파일 시 하위 클래스로 처리되며, SensorManager$1.class와 같이 클래스 파일이 독립적으로 생성된다는 점에서 공부해 보는 것이 좋습니다. 관점