Как удалить/очистить скрытые данные приложения в Android программно?

#java #android #android-emulator

Вопрос:

В основном мое приложение отображает веб-вид веб-сайта. и он входит в систему (вход в Google) правильно, но после выхода из системы и повторного нажатия на вход не принимает мою учетную запись, вместо этого он сохраняет этот Gmail один раз, а при повторном нажатии на вход использует предыдущие учетные данные для входа. и это решается, если я очищу данные своего приложения с помощью настроек устройства. Я пытаюсь получить доступ к данным моего приложения и очистить их программно.

До сих пор мне удавалось удалять данные приложения с помощью ( https://www.hrupin.com/2011/11/how-to-clear-user-data-in-your-android-application-programmatically )

Но эта ссылка была полезна, если данные приложения обычно существуют в файле данных -> данные ->> имя пакета, и >>моя проблема заключается в том, что данные приложения генерируются скрытыми во внутреннем хранилище (безопасность ОС).

Используя следующие ниже команды, я смог отобразить их на DeviceFileExplorer.

 adb shell  
run-as com.your.packagename   
cp /data/data/com.your.packagename/
 

Я прочитал, что эта команда копирует(не перемещает) мои скрытые данные пакета в этот файл /data/data/com.your.packagename/

Поэтому удаление этого /данных/данных/com.your.packagename/ не поможет.

Ответ №1:

попробуйте это это может помочь, но у некоторых производителей оборудования есть проблемы с этим

  private void clearData() {
            try {
                if (Build.VERSION_CODES.KITKAT <= Build.VERSION.SDK_INT) {
                    ((ActivityManager)getSystemService(ACTIVITY_SERVICE)).clearApplicationUserData();
                } else {
                    Runtime.getRuntime().exec("pm clear "   getApplicationContext().getPackageName());
                }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }