我将文件保存到应用程序的私有内部存储器,然后我将该文件传递给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
获取文件?
答案 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);