我正在尝试开发一个 android 应用程序,它可以在不生根的情况下删除默认浏览器的搜索历史,但我被卡住了。这是我的源代码
File file = new File("data/data/com.android.browser/databases/browser.db");
try {
String content = "";
if(!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close();
Toast.makeText(MainActivity.this, "History Deleted From Default Browser", Toast.LENGTH_LONG).show();
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
}
我知道浏览器的历史记录将存储在“browser.db”文件中,只有当我通过 adb shell 更改命令提示符中 browser.db 文件的权限时,我才能清除历史记录,例如“chmod 777 data/data/com.android .browser/databases/browser.db" 但是我每次都需要这样做,我想在我的应用程序源代码中执行此操作,我还尝试了 Runtime.exec() 方法来执行 adb shell,实际上 History Eraser 应用程序可以擦除没有root权限的默认浏览器的历史,任何人都可以帮助我解决这个谜团。提前致谢。