【发布时间】:2016-11-08 10:19:40
【问题描述】:
我正在尝试拍照并将其保存在图库应用中。到目前为止,我设法编写了以下代码:
public void sendMessages(View view) {
Intent intent = new Intent(this, MessagingAdapter.class);
startActivity(intent);
}
public void takePicture(View view) {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, getImageUri());
startActivityForResult(cameraIntent, TAKE_PHOTO_CODE);
}
public Uri getImageUri() {
picNo++;
String storageFolderPath = Environment.getExternalStorageDirectory() + "/CameraImages/";
String fullFileName = storageFolderPath + picNo + ".jpg";
File newPic = new File(fullFileName);
Uri outputFileUri = Uri.fromFile(newPic);
return outputFileUri;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == 1)
return;
if (requestCode == 3) {
Uri uri = data.getData(); //YOU GET DATA HERE
}
}
它正在工作并且没有错误。但是,它不能按我的意愿运行。
我正在 Nexus-7 (CynongeMode) 上进行测试。我的应用程序可以正常打开相机。但是在拍摄后,它会冻结在拍摄的图像上并提供 3 个选项(相机应用程序是内置应用程序):
- 取消并从相机返回到我的应用程序,或者
- 重新拍摄,或
- 接受拍摄的图像!
现在,前两个选项有效,但第三个选项根本没有任何作用,它只是冻结,如下所示:
可能是什么问题以及为什么我无法保存图像?!
更新
我放了一个很简单的onActivityResult方法。但它甚至不去那里(调试时)。但是,当我删除 cameraIntent.putExtra 行时,它会转到 onActivityResult 但又没有保存图像!!。
【问题讨论】:
-
保存代码部分在哪里?
-
这里是link,可能会对您有所帮助。
-
发布你的 onActivityResult 方法
-
@Suda.nese 是的 :) 可能是你在
onActivityResultmethod.lets addonActivityResult中遗漏了一些东西 -
@Suda.nese 试试这个stackoverflow.com/questions/18010739/…
标签: android