主题:android调用系统摄像头拍照图片和视频

如题:

 

Java代码 复制代码 收藏代码
  1.                     public void onClick(View v) {   //启动系统相机   
  2. Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);   
  3. 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) { //启动系统视频摄像头

 

Java代码 复制代码 收藏代码
  1.     Intent intent = new  Intent(MediaStore.ACTION_VIDEO_CAPTURE);   
  2.     startActivityForResult(intent, CASE_VIDEO);   
  3. }  
				Intent intent = new  Intent(MediaStore.ACTION_VIDEO_CAPTURE);
				startActivityForResult(intent, CASE_VIDEO);
			}

 

 

拍摄完成后的回调函数(在同一个activity中):

 

Java代码 复制代码 收藏代码
  1. @Override  
  2.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {   
  3.         try{   
  4.             if(resultCode==Activity.RESULT_OK){   
  5.                 if(requestCode==CASE_CAMERA){   
  6.                     typeMulti = 0;     
  7.                     Bundle extras = data.getExtras();   
  8.                     Bitmap bitmap= (Bitmap) extras.get("data");   
  9.                     path = IOUtils.saveImg(bitmap);    //返回图片保存在本机中的目录   
  10.                     /*Toast toast=Toast.makeText(this, "相片已保存在:SDcard/DCIM/Camera目录中", Toast.LENGTH_LONG);  
  11.                     toast.setGravity(Gravity.BOTTOM, 0, 0);  
  12.                     toast.show();*/  
  13.                     isUploadPhoto(bitmap);   
  14.                 }   
  15.                 if(requestCode==CASE_VIDEO){   
  16.                     typeMulti = 1;   
  17.                     path = data.getData().toString();   
  18.                     /*Toast toast=Toast.makeText(this, "视频已保存在:"+path, Toast.LENGTH_LONG);  
  19.                     toast.setGravity(Gravity.BOTTOM, 0, 0);  
  20.                     toast.show();*/  
  21.                     uploadVideoDialog();   
  22.                 }   
  23.             }   
  24.         }catch(Exception e){   
  25.             e.printStackTrace();   
  26.         }   
  27.     }  
posted @ 2011-09-22 09:48  郑文亮  阅读(4547)  评论(1编辑  收藏  举报