我编写了一个代码裁剪图像。图像可能有点大,所以我使用intent.putExtra("return-data", false);
和intent.putExtra("output", outputUri);
所以我应该解码uri
以获取位图。就像这样(omActivityResult) )
InputStream is = null;
is = getContentResolver().openInputStream(outputUri);
Bitmap avatar = BitmapFactory.decodeStream(is);
我首先制作外部存储来存储裁剪图像。它运行良好。
outputUri = Uri.fromFile(new File("/storage/emulated/0/upload.jpg"));
但我需要将其存储在内部存储中。我遵循Android developer
保存在内部存储中。代码如下。
FileOutputStream os = null;
try
{
os = openFileOutput("upload.jpg", 0);
}
catch (FileNotFoundException e)
{
}
finally
{
if (os != null)
{
try
{
os.close();
}
catch (IOException e)
{
}
}
}
outputUri = Uri.fromFile(new File(getFilesDir().getAbsolutePath(), "upload.jpg"));
avatar
将为null。我已经在stackoverflow中阅读了很多问题,但它不起作用。你能救我吗?