主Activity,com.android.camera/com.android.camera.Camera.java
Camera继承ActivityBase
ActivityBase 使用Util.java 文件的方法:
DevicePolicyManager dpm = (DevicePolicyManager) activity.getSystemService(
Context.DEVICE_POLICY_SERVICE);
获取CameraManager.CameraProxy 实例mCameraDevice。
所有和硬件交互的操作在App层的接口都由mCameraDevice提供。
mCameraDevice.takePicture(a,b); -------- 拍照
mCameraDevice.startPreviewAsync(); --- 预览图片
通过代码追踪
A:拍照流程:
com.android.camera.Camera.java com.android.camera.CameraManager.java android.hardware.Camera.java
mCameraDevice.takePicture(a,b) ----> takePicture(a,b,c,d) ---------> takePicture(shutter, raw, postview, jpeg); 在这个方法里进行Java本地调用。
B:预览图片流程:
com.android.camera.Camera.java com.android.camera.CameraManager.java android.hardware.Camera.java
mCameraDevice.startPreviewAsync() ----> startPreviewAsync(); ---------> startPreview() 在这个方法里进行Java本地调用。
接下来研究JNI部分的实现。
Camera 由上到下1
猜你喜欢
转载自wcq20071334.iteye.com/blog/1777695
今日推荐
周排行