В настоящее время я создаю служебную программу для регистрации в приложении для Android, которая использует Reflection API для регистрации основных данных о вызываемом классе / методе / параметрах.
Method.getParameters() - это вызов для получения массива параметров для данного метода но этот метод работает только на Android API уровня 26+. Кто-нибудь знает обходной путь, который позволил бы мне использовать getParameters() на уровне API 25 или ниже?
В качестве альтернативы, если для этого есть достойное решение, это тоже сработает! Заранее спасибо! Вот метод, который я обновлю, как только у меня будет исправление / обходной путь:
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
}




Не уверен, что это сработает для вас, но у меня есть много возможностей для использования apache beanutils:
http://commons.apache.org/proper/commons-beanutils/
Я вижу, что это обертывает Java Reflection API - были ли у вас проблемы с получением параметров метода на устройстве Android ниже 26? Меня беспокоит то, что я все равно столкнусь с этим ограничением, поскольку оно устанавливается в Reflection API.