Android调用系统照相机拍照与摄像的方法
Android调用系统照相机拍照与摄像的方法 Android 调用系统照相机拍照与摄像的方法是 Android 开发中一个非常重要的知识点。通过调用系统现有的照相机应用,可以拍摄照片或视频,然后对其进行处理。下面将详细介绍 Android 如何调用系统现有的照相机拍照与摄像。 调用系统照相机应用的方法 在 Android 中,调用系统现有的照相机应用非常简单。需要使用 Intent 指定开启的应用的 Action 和 Category,然后通过 startActivity(Intent) 或 startActivityForResult(Intent, int) 开启指定的 Activity。如果使用 startActivityForResult() 方法开启并需要返回值,再重写 onActivityResult(int, int, Intent) 即可。 系统现有相机应用的 AndroidManifest.xml 文件定义 在 AndroidManifest.xml 文件中,定义了系统现有相机应用的 Activity,如下所示: ``` <activity android:name="com.android.camera.Camera" android:clearTaskOnLaunch="true" android:configChanges="orientation|keyboardHidden" android:screenOrientation="landscape" android:taskAffinity="android.task.camera" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.media.action.IMAGE_CAPTURE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <intent-filter> <action android:name="android.media.action.STILL_IMAGE_CAMERA" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> ``` 调用系统照相机应用拍摄照片 要调用系统照相机应用拍摄照片,可以使用以下代码: ```java Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, REQUEST_IMAGE_CAPTURE); ``` 调用系统照相机应用拍摄视频 要调用系统照相机应用拍摄视频,可以使用以下代码: ```java Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); startActivityForResult(intent, REQUEST_VIDEO_CAPTURE); ``` 处理拍摄结果 在拍摄照片或视频后,系统照相机应用会将拍摄结果返回给我们的应用程序。我们可以通过 onActivityResult() 方法来处理拍摄结果。 Demo 演示 下面是一个简单的 Demo,演示如何调用系统照相机应用拍摄照片和视频: ```java public class CameraDemoActivity extends AppCompatActivity { private static final int REQUEST_IMAGE_CAPTURE = 1; private static final int REQUEST_VIDEO_CAPTURE = 2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_camera_demo); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, REQUEST_IMAGE_CAPTURE); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { Bitmap bitmap = (Bitmap) data.getExtras().get("data"); ImageView imageView = (ImageView) findViewById(R.id.image_view); imageView.setImageBitmap(bitmap); } else if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) { Uri videoUri = data.getData(); VideoView videoView = (VideoView) findViewById(R.id.video_view); videoView.setVideoURI(videoUri); } } } ``` Android 调用系统照相机拍照与摄像的方法非常简单,只需要使用 Intent 指定开启的应用的 Action 和 Category,然后通过 startActivity(Intent) 或 startActivityForResult(Intent, int) 开启指定的 Activity。

















- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于网络技术的高职高专大学英语立体化自主学习教学管理模式探究.docx
- Openstack云平台解决方案.docx
- 软件工程专业卓越工程师教育培养计划人才培养方案.doc
- 适用于目标检测与语义分割的神经网络 Visio 图
- 配电网络重构模型中TS算法的应用浅析.docx
- S7-200-PLC编程及应用(廖常初第2版)模拟题参考答案.doc
- 智慧城市关键技术与平台介绍.docx
- 互联网+视域下政府治理创新的对策建议.docx
- 智慧互联网法院平台方案设计.docx
- 市政道路工程项目管理中存在的问题及措施分析.docx
- 《客户关系管理理论与软件》实验指导书.doc
- 图像处理和分析教程章毓晋第1章.ppt
- JAVA-WEB课程方案设计书.doc
- 计算机数据挖掘技术的开发及其应用研究.docx
- 单片机与RFID的非接触式读卡器设计.doc
- 【精选】2018田园乡村互联网农副产品推广商模板ppt模板.pptx


