无法访问Android(MTP)中公用文件夹中的存储文件

时间:2015-04-29 08:38:59

标签: android storage mtp

我想在Android中保存一个简单的.txt文件,之后我想将此文件从设备复制到安装设备作为MTP设备的PC。

我拥有两台Android设备:

  • Nexus 4,Stock Android 5.0.1
  • Nexus 7 2012,CyanogenMod 12,Android 5.0.2

为了确保它不是Nexus设备错误,我尝试了朋友的Wiko手机。

我使用此代码将文件保存到外部存储上的Downloads文件夹中。建议在开发者页面上使用。

private void saveData()
    {    
        String fileName = "test.txt";
        String writeString = "Hello World";
        File filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
        File saveFile = new File(filePath, fileName);
        saveFile.setReadable(true);

        try
        {
            boolean result = saveFile.createNewFile();
            if(result == true)
            {
                Log.i(TAG, "File successfully created");
            }
            else
            {
                Log.i(TAG, "Error. File not created");
            }
            BufferedWriter writer = new BufferedWriter(new FileWriter(saveFile));
            writer.write(writeString);
            writer.close();
        }
        catch(Exception e)
        {
            Log.e(TAG,e.toString());
        }
    }

我使用以下权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

当我使用MTP连接到设备时,我得到一个空的下载文件夹但是当我通过Android中的文件浏览器(在我的情况下是ES文件浏览器)访问该文件夹时,我可以看到文件和内容。所以我认为创建文件并写入它是有效的。

创建文件时,我会收到正确的日志:“文件已成功创建。”

0 个答案:

没有答案