Как создать и восстановить онлайн-резервную копию для приложения Android с идентификатором google
Я хочу сохранить все данные моего приложения (которые сохраняет пользователь) в качестве резервной копии в Интернете. Поэтому, когда пользователь входит в приложение на любом другом телефоне, все его сохраненные данные передаются в приложение на новом телефоне. Как я могу это сделать? Искал 2 дня. Никакая документация не дает мне правильного пути. Он должен работать на всех версиях Android.
Вот что я пробовал:
Manifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.softix.smartaccountantapp">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:backupAgent=".helpers.MyBackupAgent"
android:icon="@mipmap/ic_logoico"
android:label="Smart Accountant"
android:roundIcon="@mipmap/ic_logoico_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:label">
<activity android:name="com.softix.smartaccountantapp.activities.LoginActivity"></activity>
<activity android:name="com.softix.smartaccountantapp.activities.UpdateIconActivity" />
<activity android:name="com.softix.smartaccountantapp.activities.SelectIconForAccount" />
<activity android:name="com.softix.smartaccountantapp.activities.SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.softix.smartaccountantapp.activities.SelectAccPayActivity" />
<activity
android:name="com.softix.smartaccountantapp.activities.AccountsActivity"
android:label="@string/title_activity_accounts"
android:theme="@style/AppTheme.NoActionBar" />
<activity android:name="com.softix.smartaccountantapp.activities.MainActivity" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
<meta-data android:name="com.google.android.backup.api_key"
android:value="<My Key>" />
</application>
MyBackupAgent.java
public class MyBackupAgent extends BackupAgentHelper {
public static final String FILE_NAME_OF_DB = "SoftixSmart.db" ;
public static final String BACKUP_KEY = "back_up" ;
@Override
public void onCreate() {
FileBackupHelper fileBackupHelper = new FileBackupHelper(this, FILE_NAME_OF_DB);
addHelper(BACKUP_KEY, fileBackupHelper);
}
}