Android, метод вызова проблемы при получении результата - PullRequest
0 голосов
/ 31 августа 2010

Я пытаюсь использовать отражение, чтобы вызвать функцию «List Camera.Parameters.getSupportedFocusModes ()» со следующими кодами:

Camera.Parameters params = mCamera.getParameters();
Method method = params.getClass().getDeclaredMethod("getSupportedFocusModes", (Class[]) null);
Object o = method.invoke(params, (Object[]) null);

журнал показывает, что он действительно находит функцию, однако результато всегда ноль, почему это?Пожалуйста, помогите мне!

Ответы [ 2 ]

0 голосов
/ 11 июня 2013

Попробуйте использовать " getMethod "
Ниже приведен пример использования того же.

Method method = this.getFirstActivity().getClass().getMethod("didReceive", null); 
method.invoke(this.getFirstActivity().getClass().newInstance(), null);
0 голосов
/ 31 августа 2010

Работает нормально для меня. Возвращено [auto, infinity]

Убедитесь, что устройство, на котором вы тестируете, использует API Level 5 или выше и что <uses-permission android:name="android.permission.CAMERA" /> добавлено в AndroidManifest.xml.

Вот код, который я использовал.

Camera camera = Camera.open();
Camera.Parameters params = camera.getParameters();
try
{
    Method method = params.getClass().getDeclaredMethod("getSupportedFocusModes", (Class[]) null);
    Object o = method.invoke(params, (Object[]) null);
    Log.i("Camera Test", o.toString());
}
catch (Exception e)
{
    e.printStackTrace();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...