android 调用系统照相机拍照后获得图片路径 android 手机照相机拍照的照片,默认的保存路径是什么。

作者&投稿:浦届 (若有异议请与网页底部的电邮联系)

  

public class TestCameraActivity extends Activity implements OnClickListener{    private Uri mOutPutFileUri;
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button takePiCButton = (Button) this.findViewById(R.id.button1);
        takePiCButton.setOnClickListener(this);
    }

@Override
 public void onClick(View v) {
  switch (v.getId()) {
  case R.id.button1:
   saveFullImage();
   break;

default:
   break;
  }
 }
 
 private void saveFullImage(){
  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  //文件夹aaaa
  String path = Environment.getExternalStorageDirectory().toString()+"/aaaa";
  File path1 = new File(path);
  if(!path1.exists()){
   path1.mkdirs();
  }
  File file = new File(path1,System.currentTimeMillis()+".jpg");
  mOutPutFileUri = Uri.fromFile(file);
  intent.putExtra(MediaStore.EXTRA_OUTPUT, mOutPutFileUri);
  startActivityForResult(intent, 1);
  
 }
 
 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  if(requestCode == 1){
   Uri imageUri = null;
   if(data != null){
    if(data.hasExtra("data")){
     Bitmap thunbnail = data.getParcelableExtra("data");
     //处理缩略图
    }
   }else{
    //处理mOutPutFileUri中的完整图像
   }
   
  }
 }
}


为什么不这样做那
Bundle extras = data.getExtras();
Bitmap bitmap = (Bitmap) extras.get("data");
这样可以得到一个Bitmap对象,可以利用流存到你想存的位置

public class TestCameraActivity extends Activity implements OnClickListener{ private Uri mOutPutFileUri;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button takePiCButton = (Button) this.findViewById(R.id.button1);
takePiCButton.setOnClickListener(this);
}

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
saveFullImage();
break;

default:
break;
}
}

private void saveFullImage(){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//文件夹aaaa
String path = Environment.getExternalStorageDirectory().toString()+"/aaaa";
File path1 = new File(path);
if(!path1.exists()){
path1.mkdirs();
}
File file = new File(path1,System.currentTimeMillis()+".jpg");
mOutPutFileUri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mOutPutFileUri);
startActivityForResult(intent, 1);

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1){
Uri imageUri = null;
if(data != null){
if(data.hasExtra("data")){
Bitmap thunbnail = data.getParcelableExtra("data");
//处理缩略图
}
}else{
//处理mOutPutFileUri中的完整图像
}

}
}
}

一个关于android的问题,我通过下面的方法调用相机,可是怎么可以在拍照结束后获取照片的路径呢?~

Android调用系统拍照的代码:
创建Intent Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
String imagePath = Environment.getExternalStorageDirectory() + "/image" ;
设置文件路径 File file = new File(imagePath);
if(!file.exists()){
file.mkdirs(); }
设置URI,指定相册拍照后保存图片的路径,Uri imageUri = Uri.fromFile(new File(imagePath, "image.jsp"));
openCameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(openCameraIntent, REQUEST_CODE_TAKING_PICTURES);
拍照完以后,文件就会保存在这个指定的目录下了。Uri 里指定了相机拍照的路径。

装了SD卡的:/sdcard/DCIM/camera
未装SD卡的:
/stystm/DCIM/camera
一般安卓手机的相机功能都会有固定的存放路径,这个位置默认为:/sdcard/DCIM/100Andro或者/sdcard/DCIM/Camera,这里的sdcard是指手机中的SD卡,在电脑中显示的为可移动磁盘。
根据不同品牌安卓手机的后期开发,文件夹名称可能不太一样,但一般是在DCIM目录文件夹里边,当然也会有特别,例如在酷派手机中手机拍照的图片是存放在根目录中的Photo中。
首先,打开手机上的相机,点击设置按钮,里面会有一个选择存储位置,一般默认是存储在手机内存,可以进行修改,存到SD卡中。通过数据线连接到电脑后,一般是一个叫DCIM的文件。

扩展资料:
手机摄像头的技术:
“像素”指的是相机传感器上的最小感光单位,通常所说的“XXX万像素”实际是指相机的分辨率,其数值大小主要由相机传感器中的像素点(即最小感光单位)数量决定。
相机的像素能决定的是其所拍图片的分辨率,而图片的分辨率越高,只代表了图片的尺寸越大,并不能说明图片越清晰。

传感器
相机传感器主要分两种,CCD和CMOS。同时代的CMOS比CCD的开口率要低很多(也就是相同面积下,感光芯片真正接收光的面积CCD会比较大)。富士等创新型cmos的出现,CCD因为成本高,成像上越来越没优势就被淘汰了。
CMOS传感器又分为背照式和堆栈式两种,二者系出同门,技术最早都由索尼研发,索尼背照式传感器品牌名为“ExmorR”,堆栈式传感器为“ExmorRS”。
相对来说,传感器尺寸越大,感光性能越好,捕捉的光子(图形信号)越多,信噪比越高,成像效果自然也越出色,然而更大的传感器却会导致手机的体积、重量、成本增加。