打开相机有两种方式,这里就只说其中常用的方法:
第一步:获取外部存储卡的;路径
path = Environment.getExternalStorageDirectory().getPath() + "/"+ "temp.png";
第二步:调用相机
// startCarmera调用系统相机
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
uri = Uri.fromFile(new File(path));//传递路径
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);// 更改系统默认存储路径
startActivityForResult(intent, 2);
第三步:返回图片
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == 2) {
FileInputStream fis = null;
try {
fis = new FileInputStream(path); // 根据路径获取数据
Bitmap bitmap = BitmapFactory.decodeStream(fis);
imageview.setImageBitmap(bitmap);// 显示图片
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
fis.close();// 关闭流
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
第四部:一定要记得添加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA"/>