2016-09-01 11 views
0

アプリがバックグラウンドでバックグラウンドで実行されているときにGoogleドライブAndroid APIにアクセスしようとしています。バックグラウンドでクライアントを接続したままにする方法や、クライアントを接続します。バックグラウンドでGoogleドライブ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(); 
} 

このコードの後、私はユーザーがバックグラウンドで自動的に切断されていることを知っていました。

答えて

1

はい、Google APIはバックグラウンドでアプリを実行できます。しかし、Googleドライブの場合、バックグラウンドでの接続に関するドキュメントは表示されません。しかし、私は助けるかもしれないドキュメンテーションを見つけました。

documentationによれば、ドライブAndroid APIを使用すると、端末がオフラインの場合でもファイルにアクセスできます。オフラインの場合をサポートするために、APIは、ネットワークアクセスが利用可能な場合にアップストリームおよびダウンストリームの変更をバックグラウンドで実行し、競合を解決する同期エンジンを実装します。

これは、related SO questionで確認できます。

+0

ありがとう、私はすでにドキュメントを見ましたが、これは私の場合ではない、私の問題はそこにない、私のアプリは正常にオフラインで動作し、ローカルバックアップを保存してドライブと同期したが、通知とアプリケーションが閉じられているか、バックグラウンドで主な機能は正常に動作しますが、アプリが閉じられているときにアプリケーションの唯一の問題はバックアップモジュールを実行できないため、自分のSQLiteにアクセスするサービスです&SharedPreferenceとget Dataを使用することも可能です。 – Gofurs

関連する問題