#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();
}
}