如何以编程方式 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();
        }
    }