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 ビルドでは無効になっていると思います。