我通过BackgroundTransferService启动了5个上传(大小不等)。我对它的工作方式有以下问题:
- 似乎在模拟器上它一次做2个上传。这是它在实际设备上的工作方式吗?我可以通过编程改变这种行为吗?
- 我能指望上传的内容按照我提交的顺序发出吗?我在测试中似乎得到了相互矛盾的结果。
- 当我在我的应用程序中检查BackgroundTransferService时,它是否包含来自其他应用程序的请求或者只是我的请求?
- 我需要重新连接事件为所有BackgroundTransferRequest对象从被墓碑回来时?从重新激活中恢复过来呢?
- 当我从BackgroundTransferService中删除它时,我需要从BackgroundTransferRequest断开事件吗?请求集合?
- 当我尝试上传一个不存在的URL:Port(在本地主机上)时,TransferStatus被报告为WaitingForNonVoiceBlockingNetwork。上传从未真正完成/失败。设备上是这样的吗?我应该在遇到此TransferStatus时删除请求吗?
-
不能影响BTS的行为。如果你不喜欢它的工作方式,你可以把传输功能作为你自己的应用程序的一部分,但你必须自己处理后台运行
-
不保证顺序
-
BTS可能正在处理来自其他应用程序的请求,但您将无法看到详细信息。
Requests()
将只返回您的应用程序的详细信息。 -
这是一个很好的做法。
-
当您遇到这种情况时,您是否检查了
TransferError
属性?这在其他情况下是完全有效的状态,因此您不应该将其视为自动失败。