我正在尝试拍摄一张照片,并将其保存在画廊的应用程序中。到目前为止,我成功地编写了以下代码:
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,但同样没有保存的映像!
发布于 2016-11-08 10:28:32
您是否将权限放入Manifest.xml中?
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />https://stackoverflow.com/questions/40484380
复制相似问题