主题:android调用系统摄像头拍照图片和视频
如题:
- public void onClick(View v) { //启动系统相机
- Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
- startActivityForResult(intent, CASE_CAMERA);
public void onClick(View v) { //启动系统相机 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, CASE_CAMERA); }
public void onClick(View v) { //启动系统视频摄像头
- Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
- startActivityForResult(intent, CASE_VIDEO);
- }
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); startActivityForResult(intent, CASE_VIDEO); }
拍摄完成后的回调函数(在同一个activity中):
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- try{
- if(resultCode==Activity.RESULT_OK){
- if(requestCode==CASE_CAMERA){
- typeMulti = 0;
- Bundle extras = data.getExtras();
- Bitmap bitmap= (Bitmap) extras.get("data");
- path = IOUtils.saveImg(bitmap); //返回图片保存在本机中的目录
- /*Toast toast=Toast.makeText(this, "相片已保存在:SDcard/DCIM/Camera目录中", Toast.LENGTH_LONG);
- toast.setGravity(Gravity.BOTTOM, 0, 0);
- toast.show();*/
- isUploadPhoto(bitmap);
- }
- if(requestCode==CASE_VIDEO){
- typeMulti = 1;
- path = data.getData().toString();
- /*Toast toast=Toast.makeText(this, "视频已保存在:"+path, Toast.LENGTH_LONG);
- toast.setGravity(Gravity.BOTTOM, 0, 0);
- toast.show();*/
- uploadVideoDialog();
- }
- }
- }catch(Exception e){
- e.printStackTrace();
- }
- }
分类:
手机开发(Android)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述