我理解Android源代码中提供的Android Camera代码流程。任何人都可以告诉我,当我们从家庭活动中打开相机时,Camera活动中的哪个方法负责调用相机硬件?
我检查了Camera.java(当用户从家中启动相机时调用的第一个活动),但没有找到任何合适的路径。
任何帮助都将不胜感激。
答案 0 :(得分:2)
创建一个Intent以启动Camera应用程序:
private static final int CAMERA_PIC_REQUEST = 9999; // this can be anything
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
处理从相机获得的结果:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_PIC_REQUEST) {
Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); // this is the picture taken
}
}
要在您的应用程序中使用相机,您还需要获得特殊许可。将它放入清单文件中:
<uses-feature android:name="android.hardware.camera"></uses-feature>