我尝试使用反射来调用“List Camera.Parameters.getSupportedFocusModes()”函数,其中包含以下代码:
Camera.Parameters params = mCamera.getParameters();
Method method = params.getClass().getDeclaredMethod("getSupportedFocusModes", (Class[]) null);
Object o = method.invoke(params, (Object[]) null);
日志显示它确实找到了该函数,但是,结果o总是为null,为什么呢?请帮帮我!
答案 0 :(得分:0)
对我来说很好。返回[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();
}
答案 1 :(得分:0)
尝试使用“ getMethod ”
以下是使用相同的样本。
Method method = this.getFirstActivity().getClass().getMethod("didReceive", null);
method.invoke(this.getFirstActivity().getClass().newInstance(), null);