我正试图按照这里的示例实现Xamarin存储提供程序。
https://github.com/xamarin/monodroid-samples/tree/master/StorageProvider
问题是,我希望用户在呈现根文件夹之前登录。
用于查询根的方法如下:
public override ICursor QueryRoots(string[] projection)
这是在应用程序首次启动时调用的,但随后似乎不会调用。
如果我直接登录(硬编码凭据(,这很好。但是,如果我打开应用程序以便手动添加一些登录详细信息,则不会再次调用它,因此不会重新呈现正确的根。
有人知道我如何强迫Android再次调用此方法来刷新此列表吗?
您可以尝试调用以下方法来通知系统我们的根的状态已更改
Activity.ContentResolver.NotifyChange (DocumentsContract.BuildRootsUri (AUTHORITY), null, false);
你可以在这里看到解释https://github.com/xamarin/monodroid-samples/blob/0b301e8fd2da65ff442b5f1ed236c73ba3b963c2/StorageProvider/MyCloudFragment.cs#L66.