如果使用openFileOutput,则获取文件

时间:2015-04-16 04:18:00

标签: android

我将文件保存到应用程序的私有内部存储器,然后我将该文件传递给Uri,以便我可以将其作为其他活动的结果返回

String filename = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
FileOutputStream outputStream;

try {
    outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
    outputStream.write(data);
    outputStream.close();

    Intent intent = new Intent();
    intent.setData(Uri.fromFile("")); //pass file here somehow
    setResult(Activity.RESULT_OK);
    finish();

} catch (IOException e) {
    Toast.makeText(CameraActivity.this, "Error creating file " + e.getMessage(),
    Toast.LENGTH_LONG).show();
}

如何从openFileOutput获取文件?

2 个答案:

答案 0 :(得分:2)

  

如何从openFileOutput获取文件?

使用Context.getFilesDir()获取使用openFileOutput方法创建的文件路径:

String rootDir = this.getFilesDir().getAbsolutePath();
File file = new File(rootDir + filename);
.....
intent.setData(Uri.fromFile(file));

答案 1 :(得分:0)

我针对相同的问题提出了这种解决方案,我更喜欢这种解决方案:

Uri internalFilesUri = Uri.fromFile(getContext().getFilesDir());
Uri fileUri = Uri.withAppendedPath(internalFilesUri , filename);