我只想用我的相机拍摄照片 - (具有功能)
为了进一步使用它,我需要路径是意图保存了图片。 但我不想告诉Intent它应该把文件放在哪里。 (因为现在它只是自动创建文件。
启动相机的功能
public void doCam() {
Intent i = new Intent("android.media.action.IMAGE_CAPTURE");
// startActivityForResult(intent,0);
try {
startActivityForResult(i, TAKEPICTURE_ACTIVITY);
} catch (ActivityNotFoundException e) {
Toast.makeText(this, "Application not available",
Toast.LENGTH_SHORT).show();
}
// Log.e(TAG, "Error in taking picture");
}
并且继续得到结果,我想在字符串地址中找到带有图片名称的路径
我已经找到了不同的解决方案,但所有涉及在拍照之前选择文件名 - >所以应用程序决定如何命名picutre。
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == TAKEPICTURE_ACTIVITY) {
// super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {
Bundle extras = intent.getExtras();
Bitmap bitmap = (Bitmap) extras.get("data");
//doesn't work
String address= (String) extras.get("EXTRA_OUTPUT");
答案 0 :(得分:0)
路径应该在intent.getData()
尝试一下..如果你没有它,那么你应该考虑强制相机将视频保存在自定义位置..
答案 1 :(得分:-2)
这是您如何获取最近捕获的图像的路径:
try{
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
} catch(Exception e){
e.printStackTrace();
}
在onActivityResult()方法中:
String path=null;
try{
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
path=getLastImagePath();
} catch(Exception e){
}