如何以编程方式 delete/clear 在 android 中隐藏应用数据?
How to delete/clear hidden data of app in android programmatically?
基本上我的应用程序显示网站的 WebView。它可以正确登录(Google 登录),但在注销并再次按下登录后不会占用我的帐户,而是会保存该 Gmail 一次,然后再次单击登录会使用以前的登录凭据。如果我使用设备设置清除我的应用程序数据,它就会得到解决。我正在尝试以编程方式访问并清除我的应用程序数据。
到目前为止,我已经能够使用 ( https://www.hrupin.com/2011/11/how-to-clear-user-data-in-your-android-application-programmatically )
删除应用程序数据
但是这个link很有用如果应用程序数据正常存在于 DeviceFileExplorer 数据 -> 数据 -> 包名,我的问题 是应用程序数据在内部存储中隐藏 生成(OS 安全)。
使用下面这些命令,我已经能够在 DeviceFileExplorer 上显示它们。
adb shell
run-as com.your.packagename
cp /data/data/com.your.packagename/
我读到此命令将我的隐藏包数据复制(而不是移动)到此 /data/data/com。your.packagename/
因此删除此 /data/data/com.your.packagename/ 无济于事。
尝试这个可能会有帮助,但一些 oem 对此有问题
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();
}
}
基本上我的应用程序显示网站的 WebView。它可以正确登录(Google 登录),但在注销并再次按下登录后不会占用我的帐户,而是会保存该 Gmail 一次,然后再次单击登录会使用以前的登录凭据。如果我使用设备设置清除我的应用程序数据,它就会得到解决。我正在尝试以编程方式访问并清除我的应用程序数据。
到目前为止,我已经能够使用 ( https://www.hrupin.com/2011/11/how-to-clear-user-data-in-your-android-application-programmatically )
删除应用程序数据但是这个link很有用如果应用程序数据正常存在于 DeviceFileExplorer 数据 -> 数据 -> 包名,我的问题 是应用程序数据在内部存储中隐藏 生成(OS 安全)。
使用下面这些命令,我已经能够在 DeviceFileExplorer 上显示它们。
adb shell
run-as com.your.packagename
cp /data/data/com.your.packagename/
我读到此命令将我的隐藏包数据复制(而不是移动)到此 /data/data/com。your.packagename/
因此删除此 /data/data/com.your.packagename/ 无济于事。
尝试这个可能会有帮助,但一些 oem 对此有问题
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();
}
}