无法保存裁剪的图像-Android
这是我从无法保存裁剪的图像-Android,android,image,android-intent,crop,android-external-storage,Android,Image,Android Intent,Crop,Android External Storage,这是我从 我通过如下更改保存的目录路径使代码正常工作: File newDirectory = new File(Environment.getExternalStorageDirectory()+"/test/"); 原因:我无法保存以写入受保护目录“/Android/data/com.example.abcd/files/” 通过对onActivityResult进行以下更改: public void onActivityResult(int requestCode, int resul
我通过如下更改保存的目录路径使代码正常工作:
File newDirectory = new File(Environment.getExternalStorageDirectory()+"/test/");
原因:我无法保存以写入受保护目录“/Android/data/com.example.abcd/files/”
通过对onActivityResult进行以下更改:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
// Uri selectedImageUri = data.getData();
// selectedImagePath = getPath(selectedImageUri); //To get image path
selectedImagePath = mCropImagedUri.getPath(); //To get image path
System.out.println("Image Path : " + selectedImagePath);
// img.setImageURI(selectedImageUri);
}
}
}
注意:您可能不需要注释掉img.setImageURI行。为了测试的目的,我不得不这么做
确保已在AndroidManifest中添加写入权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
查看本文中的解决方案不,它不起作用,我不认为它是解决方案您的Android媒体不能安装在无法写入外部存储的位置(例如,插入计算机的旧设备)?你有写外部存储的权限吗?@vinothkumar请看下面我的答案。我有密码了。在Android 4.4.4设备上测试,而不是emulator.Thx。希望这个能起作用。一旦我测试了它,我会把它标为正确答案。@Wildroid:我的问题解决了。但我想问你,在“/Android/data/com.example.abcd/files/”中是否有存储的内容?此外,我的应用程序在裁剪和保存图像后崩溃。你能解决这个问题吗?我想我需要为裁剪后的图像找到新的路径。我该怎么做?@vinothkumar您是在设备上还是在模拟器上测试?注意:如果保存到sdcard/Android/data/full.package.name,则在卸载应用程序时会删除剪切的图像。据我所知,您需要root访问权限才能保存到Android data directory.thx。但是你给出的代码在保存裁剪的图像后崩溃了。我认为onActivityResult需要修改。我不知道怎么做。你能帮我解决一下吗?@vinothkumar In-OnActivityResult():if(data!=null){Bitmap thePic=(Bitmap)data.getExtras().get(“data”);img.setImageBitmap(thePic);}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
// Uri selectedImageUri = data.getData();
// selectedImagePath = getPath(selectedImageUri); //To get image path
selectedImagePath = mCropImagedUri.getPath(); //To get image path
System.out.println("Image Path : " + selectedImagePath);
// img.setImageURI(selectedImageUri);
}
}
}
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />