Удалить общие настройки после удаления приложения без использования Android:allowBackup="false"

Я хочу удалить общие настройки после удаления приложения. И я не хочу использовать параметр android:allowBackup="false", поскольку я прочитал, что он не рекомендуется для приложений в производстве. Есть ли другой способ, которым мы можем удалить общие настройки для приложения после удаления, сохраняя при этом резервные копии (во время обновлений)

1 ответ

Решение

Ты можешь использовать BroadcastReceiver для этого

Добавьте это к Manifest

<receiver android:name=".DeleteReceiver">
    <intent-filter>
        <action android:name="android.intent.action.PACKAGE_REMOVED" />
        <data android:scheme="package"/>
    </intent-filter>
</receiver>

А также BroadcastReceiver учебный класс

public class DeleteReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //remove preferences
        SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE);
        settings.edit().clear().commit();
    }
}

ОБНОВЛЕНИЕ: после некоторого исследования я обнаружил, что вы не можете получить что-то, когда ваше приложение удалено.

Удаляемый пакет не получает этого намерения.

Единственное решение - использовать второе приложение для его получения. Извините за разочарование.

Так что в вашем случае android:allowBackup=“false” это единственный способ удалить настройки.

Другие вопросы по тегам