存储提供商,如何在Xamarin应用程序首次发布后强制QueryRoots启动



我正试图按照这里的示例实现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.

相关内容

  • 没有找到相关文章

最新更新