Xamarin Forms FileSystemWatcher
Xamarin Forms FileSystemWatcher
我需要查看我的 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.
我怎样才能让它起作用?
还有另一种查看文件夹的方法吗?
谢谢!
FileSystemWatcher
是基于 .NET Framework 的 class,目前 未在 Xamarin 中实现,尽管 API 在 Xamarin 中可用.NET 标准 2.0.
在 UWP 中,您可以创建一个 StorageFolderQuery
和 ContentChanged
事件处理程序来观察给定文件夹中的变化。请参阅文档 here。
Android 有自己的替代实现,形式为 Android.OS.FileObserver
.
iOS 似乎没有开箱即用的东西,所以这可能需要您找到一个可以为您完成这项工作的图书馆,或者自己实现此类功能,尽管其效率低于 SDK 内置的方式。
我需要查看我的 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.
我怎样才能让它起作用?
还有另一种查看文件夹的方法吗?
谢谢!
FileSystemWatcher
是基于 .NET Framework 的 class,目前 未在 Xamarin 中实现,尽管 API 在 Xamarin 中可用.NET 标准 2.0.
在 UWP 中,您可以创建一个 StorageFolderQuery
和 ContentChanged
事件处理程序来观察给定文件夹中的变化。请参阅文档 here。
Android 有自己的替代实现,形式为 Android.OS.FileObserver
.
iOS 似乎没有开箱即用的东西,所以这可能需要您找到一个可以为您完成这项工作的图书馆,或者自己实现此类功能,尽管其效率低于 SDK 内置的方式。