4

我需要查看我的 ios/android 应用程序中的文件夹。

我想用FileSystemWatcher.

这是我的代码:

var DocFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var InboxFolder = DocFolder + "/Inbox";

 FileSystemWatcher watcher = new FileSystemWatcher() {
     Path = InboxFolder,
     NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName,
     Filter = "*.*",
     EnableRaisingEvents = true
 };

watcher.Created += (object sender, FileSystemEventArgs e) => {
    // do stuff
};

初始化时FileSystemWatcher会触发此错误:

System.NotImplementedException: The method or operation is not implemented.

我怎样才能使它起作用?

还有另一种观看文件夹的方法吗?

谢谢!

4

1 回答 1

5

FileSystemWatcher是一个基于 .NET Framework 的类,当前在 Xamarin 中实现,尽管 API 在 .NET Standard 2.0 中可用。

UWP中,您可以创建一个StorageFolderQuerywithContentChanged事件处理程序来观察给定文件夹中的更改。请参阅此处的文档。

Android有它自己的替代实现,形式为Android.OS.FileObserver.

iOS似乎没有任何开箱即用的功能,因此这可能需要您找到一个为您完成这项工作的库或自己实现此类功能,尽管效率低于内置于开发工具包。

于 2018-02-03T14:07:09.403 回答