GoogleのAndroidバックアップを取得してGoogle Backupにデータをバックアップする方法を調査し、フォローしました。そのため、ユーザーが電話を忘れたり、そのデータ。しかし、私がそれをテストすると(自分でアプリを使ってアンインストールして再インストールすると)、データは復元されません。ここに私がしたことがあります。おそらく、誰かが間違っていることを理解することができます。グーグルマニフェストファイルに次のコード置か Google Backupサービスへの共有設定のAndroidバックアップが動作しない
(キーの代わりに、私はキー値を追加したとのpackageNameのために、私は私のアプリのパッケージ名を使用)
android:backupAgent="packageName.MyPrefsBackup">
<meta-data android:name="com.google.android.backup.api_key" android:value="key" />
- 応用
次のコードのクラス
MyPrefsBackup
を作成しました。バックアップするsharedpreferenceファイルの名前はUserDBと呼ばれます。限り、PREFS_BACKIP_KEY
、私はそれをprefsと呼ばれる。私が理解していることから、これはマニフェストファイルにあるキーと同じではありません。私は次のステップ最後に、バックアップマネージャを呼び出して、私のメインクラスで
package packageName; import android.app.backup.BackupAgentHelper; import android.app.backup.SharedPreferencesBackupHelper; public class MyPrefsBackup extends BackupAgentHelper { // The name of the SharedPreferences file static final String PREFS = "UserDB"; // A key to uniquely identify the set of backup data static final String PREFS_BACKUP_KEY = "prefs"; // Allocate a helper and add it to the backup agent public void onCreate() { SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, PREFS); addHelper(PREFS_BACKUP_KEY, helper); } }
追加
BackupManager mBackupManager = new BackupManager(this);
、私のメインプログラムの中で、私はbackupHelper
を呼び出す:
コードデータは次の行で変更されます。
mBackupManager.dataChanged();
ご協力いただきまして誠にありがとうございます。あなたがバックアップを有効にする必要があります - - AVDは、デフォルトでは、バックアップのために無効になっている
感謝を実行BMGR adbのシェルを実行した後に呼び出されたかどうかを確認するために、それをデバッグすることができ、私は数日間試してみるとがあれば戻って報告することをあげる可能BMGRできます。上記のスクリプトを追加していないのを忘れたBackupManager mBackupManager = new BackupManager(これ);私の主なアプリの変数宣言セクションにあります。 – gbotha
これはまだ動作していません。市場からアプリをインストールした後、dataChanged()コマンドを呼び出すデータベースを編集してテストします。その後、約2〜3日待ってから、アプリをアンインストールして再インストールします。再インストール時に、私はデータベースをリロードするよう求められません。恥ずかしい......誰かからのさらなる助け? – gbotha
SharedPrefsのみをバックアップしています。あなたはデータベースとファイルをバックアップしませんでした。それは私が推測する問題です。 – tasomaniac