删除Android默认浏览器历史记录

时间:2013-06-24 09:09:39

标签: android

我正在尝试开发一个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 /数据库/ browser.db” 但我每次都需要这样做,我想在我的应用程序源代码中执行此操作,我还尝试使用Runtime.exec()方法执行adb shell,实际上History Eraser应用程序可以在没有root权限的情况下删除默认浏览器的历史记录,可以请帮助我解决这个谜团。在此先感谢。

1 个答案:

答案 0 :(得分:9)

将以下权限添加到AndroidManifest.xml

<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>

然后当你想清除历史使用时:

Browser.clearHistory(getContentResolver());