清理应用程序数据不起作用

Clean app data is not working

我正在尝试从我的应用程序中清除 Netflix 数据、TV 版 (ninja)。我使用以下代码:

private void clearPreferences() {
    try {
        // clearing app data
        Runtime runtime = Runtime.getRuntime();
        runtime.exec("pm clear com.netflix.ninja");

    } catch (Exception e) {
        e.printStackTrace();
    }
}

它编译但没有任何反应。 当我尝试通过控制台执行相同操作时,它可以正常工作:

adb shell pm clear com.netflix.ninja

有什么建议吗?

adb shell 运行 比 Android 应用程序具有更高的权限。许多(如果不是大多数的话)adb shell 命令根本无法在 Android 应用程序中运行。例外情况是设备已获得 root 权限,并且您通过 su.

运行 命令

谢谢大家。我必须在命令中使用 "su" 来工作。但是我必须先对我的设备进行 root。

有需要的请关注代码:

@OnClick(R.id.clean)
    protected void cleanAppData() {
        try {
            Process p = Runtime.getRuntime().exec("su");
            DataOutputStream dos = new DataOutputStream(p.getOutputStream());
            dos.writeBytes("pm clear com.netflix.mediaclient\n");
            dos.writeBytes("exit\n");
            dos.flush();
            dos.close();
            p.waitFor();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }