AndroidManifestファイルを調べていますが、ドキュメントによると、のエントリが表示さandroid:backupAgent
れます。android:backupAgent
アプリケーションの設定のバックアップと外部ストレージへの復元を管理するためにBackupAgentを実装するクラスの名前。
BackupAgent
しかし、インターフェイスやその他のドキュメントが見つかりません。誰かが私を正しい方向に向けることができますか?
AndroidManifestファイルを調べていますが、ドキュメントによると、のエントリが表示さandroid:backupAgent
れます。android:backupAgent
アプリケーションの設定のバックアップと外部ストレージへの復元を管理するためにBackupAgentを実装するクラスの名前。
BackupAgent
しかし、インターフェイスやその他のドキュメントが見つかりません。誰かが私を正しい方向に向けることができますか?
BackupAgent の API はまだ固まっていないため、隠しクラスです。 次のコメントがあるAndroid の git で確認できます。
/**
* This is the central interface between an application and Android's
* settings backup mechanism.
*
* @hide pending API solidification
*/
私が提供できるのは、 のソース コードandroid.app.BackupAgent
と のソース コードだけですandroid.backup.BackupManager
。
BackupAgent
は抽象クラスであり、ソースの javadoc によると、「アプリケーションと Android の設定バックアップ メカニズムの間の中心的なインターフェイスです」。抽象onBackup()
とonRestore()
メソッドがあります。
もありBackupManager
ます。javadoc には、「BackupManager
はシステムのバックアップ サービスへのインターフェイスです。アプリケーションは単にインスタンスを作成し、そのインスタンスを使用してバックアップ インフラストラクチャと通信します」と述べています。バックアップをスケジュールするためにdataChanged()
呼び出すbeginRestoreSession()
メソッドと、復元を開始するメソッドがあります。
さて、コードの興味深い点は次のBackupManager
とおりです。
*
* @hide pending API solidification
*/
と:
/** @hide TODO: REMOVE THIS */
public static final boolean EVEN_THINK_ABOUT_DOING_RESTORE = true;
したがって、これはまだ進行中の作業のようであり、EVEN_THINK_ABOUT_DOING_RESTORE
メンバー変数はバックアップ機能を無効にする簡単な方法です。私の推測では、製品版の Android ビルドでは無効になっていると思います。