我想删除其他应用程序数据,我想要从我的应用程序中删除facebook的应用程序数据或whatsapp数据。 我尝试了this code,但正如它所说的那样它无法清除其他应用程序的数据,因为每个Android应用程序都在Sandbox中运行,这可以防止他们的数据从其范围之外被访问。
那么,我是否可以将用户重定向到设置屏幕并以编程方式明确单击清除数据?
我的片段:
public void clearApplicationData(String packageName) {
File cache = getCacheDir();
File appDir1 = new File(cache.getParent()).getParentFile();
File appDir = new File(appDir1.getAbsolutePath() + "/" + packageName);
if (appDir.exists()) {
String[] children = appDir.list();
for (String s : children) {
if (!s.equals("lib")) {
deleteDir(new File(appDir, s));
}
}
}
}
public static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
return dir.delete();
}
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
clearApplicationData(packageInfo.packageName);