我想检查设备上是否存在方法Camera.Parameters.getHorizontalViewAngle()
(它仅适用于API 8,我的min SDK API为7)。我试图用“反思”,作为解释here,但它捕捉到一个错误说参数的数目是错误的:检查方法是否存在
java.lang.IllegalArgumentException: wrong number of arguments
任何人都可以帮助?
Camera camera;
camera = Camera.open();
Parameters params = camera.getParameters();
Method m = Camera.Parameters.class.getMethod("getHorizontalViewAngle", new Class[] {});
float hVA = 0;
try {
m.invoke(params, hVA);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我已经给我这个问题的链接,并试图做到这一点... – jul
你可以给我们的错误的堆栈跟踪?此外,如果您有新的Class [] {},只需将null视为空数组即可。 – Nicholas
我编辑了这个问题。 – jul