我每天凌晨3点设定一个时间表进行备份。在此期间,需要进行本地备份,然后进行云备份到Google云端硬盘。我的问题是:
如果凌晨3点没有互联网,则不会进行云备份。因此,如果凌晨3点始终没有互联网,则永远不会进行云备份。
这有什么解决办法吗?
答案 0 :(得分:1)
看起来Completion Events可以帮助您实施。
失败 - 此状态表示与此相关的操作 事件永久无法应用于服务器。内容 或者可以检索未能应用于服务器的元数据 使用CompletionEvent的
getModifiedContentsInputStream
或getModifiedMetadataChangeSet
,允许您尝试将它们应用于 服务器以后。
由于您要安排上传,可以通过 EventService 检查失败,然后只需实施代码即可按您选择的时间间隔重试上传。
答案 1 :(得分:0)
我采取了另一种方法。我在AndroidManifest.xml
中将接收器定义为:
<receiver android:name="com.xyz.abc.Receiver"
android:exported="false"
android:process=":remote" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
只要网络连接发生变化,就会触发此操作。然后在onReceive()
中如果需要备份,我会开始上传过程。这样,我节省了不必要的带宽消耗。
感谢大家的帮助!