1:反射检查/使用类
try{
// 检查是否有 Camera 类
Class.forName("android.hardware.Camera");
// 检查是否有 CameraInfo 内部类
Class.forName("android.hardware.Camera$CameraInfo");
// 反射使用类
android.hardware.Camera.CameraInfo cameraInfo = new android.hardware.Camera.CameraInfo();
int numberOfCameras = android.hardware.Camera.getNumberOfCameras();
for(int i = 0; i < numberOfCameras; i++){
android.hardware.Camera.getCameraInfo(i,cameraInfo);
if(cameraInfo.facing == android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT){
haveFrontCamera = i;
}
}
// 反射使用类
Method method = null;
method = Class.forName("android.hardware.Camera").getDeclaredMethod("open", int.class,int.class);
Camera camer = (Camera)method.invoke(method,2,1);
} catch(ClassNotFoundException e){
}
catch(Exception ex){
ex.printStackTrace();
}