尝试将文件上传到 OneDrive 时出现 NoFileSpecified 错误

NoFileSpecified error when trying to upload a file to OneDrive

我正在使用 Android 并且正在学习本教程:

https://github.com/OneDrive/onedrive-picker-android/blob/master/README.md

public void uploadToOneDrive(String content,Context context){
    final String filename = "Temp.xml";
    final File f = new File(context.getFilesDir(), filename);
    try {
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(context.openFileOutput("Temp.xml", Context.MODE_PRIVATE));

        outputStreamWriter.write(content);
        outputStreamWriter.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        Log.e("Exception", "File write failed: " + e.toString());
    }

    System.out.println("File " + f.toString());
    mSaver = Saver.createSaver(ONEDRIVE_APP_ID);
    mSaver.startSaving((Activity)context,filename, Uri.fromFile(f));

}

这是我的 returns 错误类型 NoFileSpecified 的方法。我正在尝试创建一个新的临时文件,将一个字符串放入其中,然后将其删除。

我是这样称呼它的:

        oneDriveUpload.getSaver().handleSave(requestCode, resultCode, data);

05-29 15:03:18.649 10649-10649/david.projectclouds I/System.out: File /data/user/0/david.projectclouds/files/Temp.xml
05-29 15:03:18.702 10649-10649/david.projectclouds I/System.out: URI:  file:///data/user/0/david.projectclouds/files/Temp.xml

所以有一个文件,URI 是被接受的东西。我迷路了。

编辑:我试过使用内容 content://david.projectclouds.MainActivity/file/diabetix/Temp.xml

但我仍然有同样的错误。

Android 7.0 和 SDK 显然存在一些问题。所以我只是用我自己的意图。

 Intent intentOD = new Intent(Intent.ACTION_SEND);
                                intentOD.setType("text/*");
                                intentOD.setPackage("com.microsoft.skydrive");

                                intentOD.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                                intentOD.putExtra(Intent.EXTRA_STREAM, FileProvider.getUriForFile(getContext(), "david.projectclouds.MainActivity", f));
                                getContext().startActivity(Intent.createChooser(intentOD, "title"));