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...
xusedについては分かりませんが(汗)、Javaクラスの匿名クラスはコンパイル時にサブクラスとして処理され、SensorManager$1.classなどのクラスファイルが独立して生成されるので、こちらから勉強することをお勧めします。視点