如何验证android内容提供商/解析器成功保存文件



在我的应用程序中,我可以读取文件并将其保存到内容提供商。

在调用此代码时,如果没有引发异常,我假设文件已正确保存。

OutputStream outputStream = getContentResolver().openOutputStream(uri, "w");
// write to stream
outputStream.close();

但在使用谷歌硬盘时,我发现这可能不是真的,例如,如果用户没有互联网连接,文件的上传就会暂停。

我如何知道内容提供商是否未将更改应用于文件
一旦我知道初始保存失败,是否有方法重试上载?

如何知道内容提供商是否没有将更改应用到文件?

对不起,这是不可能的。

但在使用谷歌驱动器时,我发现这可能不是真的,例如,如果用户没有互联网连接,文件的上传就会暂停。

Google Drive最终应该会上传内容。如果没有,那就是谷歌硬盘中的一个错误。你把内容交给了那个应用程序;该应用程序有责任用这些内容为用户做一些有用的事情。

然而,";文件上传暂停";是Google Drive的内部实现细节。并非每个ContentProvider都执行上载。Google Drive可能不一定会立即上传一些内容,原因有很多,而不仅仅是与互联网连接有关(例如,先进行一些转换(。不立即上传内容不一定是错误,并且没有API用于"上传";嘿,你做完了吗&";,当有无数可能的事情可以做的时候。

不可能知道内容提供商将更改应用于文件

相关内容

最新更新