安卓:将文本文件存储在安卓设备的内部存储器中,而不是存储在外部存储卡中?



我尝试将文本文件存储在设备的手机内存中,它与哪个设备支持外部插槽一起工作。,但不能与没有外部插槽的安卓手机一起使用。(例如三星S6 Edge)。

下面是我的代码:

public void AfterSaveClick() {
        OutputStream fOut = null;
        try {
            Toast.makeText(MainActivity.this, "Start",Toast.LENGTH_SHORT).show();
            //device basic path(phone memory)
            File root = new File(Environment.getExternalStorageDirectory()
                    + File.separator + "Log_Folder" + File.separator);
            root.mkdirs();
            File phoneMemoryTextMainDirectory = new File(root, "samples.txt");
            FileWriter writer = new FileWriter(phoneMemoryTextMainDirectory);
            writer.append("Hello");
            writer.flush();
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    } 

我认为你应该做的是首先检查设备是否有外部存储,你可以使用这样的东西:

Boolean isSDPresent = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);

如果设备有外部存储,那么使用你已经拥有的路径,否则你应该在手机内部内存中添加另一个路径。

最新更新