如何在Android API 25级及更低版本中使用Reflection API getParameters?

时间:2018-08-20 15:56:55

标签: java android reflection

我目前正在为Android构建一个应用程序内记录器实用程序,该实用程序使用Reflection API记录有关所调用的类/方法/参数的基本数据。

Method.getParameters()是为给定方法检索参数数组的调用,但该方法仅适用于Android API级别26 + 。有谁知道可以让我在API级别25或更低级别使用getParameters()的变通办法吗?

或者,如果有一个不错的解决方法,那也可以!提前致谢!一旦有了适当的修复/解决方法,这就是我将要更新的方法:

private Parameter[] _retrieveParametersForMethod( Method method ) {

    Parameter[] methodParameters;

    // getParameters() only works on API level 26+ (Oreo)
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        return methodParameters = method.getParameters();
    } else
        return null;    // TODO: Find a workaround for pre-API level 26

}

1 个答案:

答案 0 :(得分:0)

不确定它是否对您有用,但是我从Apache beanutils中学到了很多东西:

http://commons.apache.org/proper/commons-beanutils/