Java Android Studio-我在实际设备上看不到使用FileOutputStream创建的文件
因此,我正在创建的文件工作正常,并在模拟器上准确地显示了它们应该如何工作,我只是无法让它们导出到任何我可以在实际设备上看到它们的地方。这些文件需要在应用程序外部访问,但我似乎无法做到这一点 这就是我声明file变量的方式Java Android Studio-我在实际设备上看不到使用FileOutputStream创建的文件,java,android,android-studio,fileoutputstream,Java,Android,Android Studio,Fileoutputstream,因此,我正在创建的文件工作正常,并在模拟器上准确地显示了它们应该如何工作,我只是无法让它们导出到任何我可以在实际设备上看到它们的地方。这些文件需要在应用程序外部访问,但我似乎无法做到这一点 这就是我声明file变量的方式 File FeedingReport = new File(Environment.DIRECTORY_ALARMS, "Feeding_" + DateFormat.format(date) + ".csv"); 然后写 FeedingReport.createNewFil
File FeedingReport = new File(Environment.DIRECTORY_ALARMS, "Feeding_" + DateFormat.format(date) + ".csv");
然后写
FeedingReport.createNewFile();
FileOutputStream writer = openFileOutput(FeedingReport.getName(), MODE_WORLD_READABLE);
正如我所说,编写工作很好,因为在模拟器上一切都可以完美地工作。我已经设置了读写内部和外部存储的权限,正如您所看到的,我正在尝试加载我在实际手机上可以看到的不同目录,例如闹钟,但文件仍然没有显示在那里
无论我尝试什么,似乎都没有让我查看此文件,请帮助 尝试将您创建的新文件和目录通知系统:
MediaScannerConnection.scanFile(MainActivity.this, new String[] {filePathWrite.toString()}, null, null);
//filePathWrite is Environment.DIRECTORY_ALARMS,
//"Feeding_" + DateFormat.format(date) + ".csv" in your case
我也遇到了同样的问题,但在中的答案解决了我的问题。但是文件仍然没有显示在那里-您如何查找该文件?关闭FileOutputStream之前是否调用了同步?您是否使用MediaScannerConnection和scanFile让MediaStore的索引包含此新文件?为什么你认为使用MODE_WORLD_READABLE是一个好主意?我正在运行我的应用程序,然后在生成后进入手机上的my Files应用程序查找它。为什么模式世界可读性不是一个好主意?不,我没有做任何这些事情,我以前没有遇到过这些方法。奇怪的是,我在我看的教程中没有听说过它们。谢谢关于MODE_WORLD_READABLE,允许不受限制地访问您的文件通常被认为是糟糕的形式,而不仅仅是在Android上。它已经到了一个地步,模式_WORLD _READABLE不推荐使用IIRC。使用MODE_PRIVATE,如果需要共享文件,请使用类似FileProvider的工具。