当我的应用程序在后台运行客户端自动断开连接时,我正在尝试访问Google Drive Android API,是否有任何方法可以在后台保持客户端连接或连接客户端。
public void scheduleBackgroundBackup(){
getP().edit().putBoolean(UPDATE_BACKUP, true).apply();
Log.d("--->BACKGROUND ","scheduling BACKUP");
try{
DriveCore m =CoreApp.getDriveManager();
Log.d("--->BG Client","is Connected :"+m.isConnected()+"");
AppState cs = new AppState (this,
m,
CoreApp.getUserID(),
false);
m.connect();
Log.d("--->BG Client2","is Connected :"+m.isConnected()+"");
m.fetchDriveFiles(DriveMode.BACKGROUND_SAVE,this,cs);
}catch (Exception e){
e.printStackTrace();
Log.d("--->BG BACKUP","Cannot Load Drive Core");
}
updateBackupBackground();
}
所以在这段代码之后,我知道用户会在后台自动断开连接。
答案 0 :(得分:1)
是的,Google API支持在后台运行应用。但对于Google云端硬盘,我无法在后台看到有关该连接的任何文档。但是,我找到了可能有用的文档。
根据此documentation,即使设备处于离线状态,Drive Android API也可让您的应用访问文件。为了支持脱机情况,API实现了一个同步引擎,该引擎在网络访问可用时在后台运行以进行上游和下游更改并解决冲突。
您可以查看此related SO question。