When uploading a file to a server, application developers must ensure they receive user consent for the upload. Additionally they must expose facilities to control each upload (like cancel) and ensure progress visibility when the application is in the foreground. The Background Transfer API enables users to transfer content in the background. Therefore, application developers must also ensure they handle application suspension/resumption and termination/activation cases.