2011-09-09 98 views
4

我正在爲客戶端編寫一個應用程序,這個客戶端有幾個設備可供客戶查看和使用。他們希望能夠定期清除瀏覽器歷史記錄,以便如果客戶將瀏覽器打開到不適當的網站,下一位客戶就不會看到這一點。清除Android瀏覽器歷史記錄

我目前使用這清除歷史記錄和搜索:

  Browser.clearHistory(getContentResolver()); 
      Browser.clearSearches(getContentResolver()); 

這正確清除歷史記錄。但在瀏覽器中打開的任何窗口(標籤)仍然保持打開狀態。我如何告訴瀏覽器關閉所有這些選項卡,以便下次有人打開瀏覽器時,它將只加載啓動頁面?

我注意到使用預先加載在設備上的TaskManager查殺瀏覽器的作品。殺死瀏覽器任務是我能讓它關閉任何打開的標籤的唯一方法嗎?如果是的話,我該如何去關於殺死/重新啓動瀏覽器進程?我試過這個:

am = (ActivityManager) getApplicationContext().getSystemService(Activity.ACTIVITY_SERVICE); 
    am.killBackgroundProcesses("com.android.browser"); 

但是這種方法似乎沒有做任何事情。我有

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"></uses-permission> 

在我的清單,但在我運行此,回到它仍然坐在任何標籤都開着瀏覽器。使用由此授予的權限的正確方法是什麼?

我寧願找一些除了任務殺死以外的其他方法來使其工作,但在這一點上,我在所有的戰線上都是空的。

+0

我正在尋找完全一樣的東西。實現這一目標的進展和最終方向是什麼? – Tom

+0

@Tom從來沒有遇到任何問題,並且在很多新設備上加入了Chrome瀏覽器(一種額外的瀏覽器)後,情況變得更糟。因爲這也超出了我的控制範圍。 – FoamyGuy

+1

感謝您的更新!目前我正在嘗試另一件事。根植設備,看看我是否可以刪除/data/data/com.android.browser – Tom

回答

1

我試圖通過ActivityManager關閉瀏覽器,它工作正常。我在HTC 2.2上測試了它,它的工作原理非常完美。

也許你也應該試試這個:

am.killBackgroundProcesses("com.google.android.browser"); 

的情況下,您的手機上的瀏覽器是不是在com.android.browser

甚至試圖完成的活動:com.android.browser.BrowserActivity

希望這可以幫助!

+0

好吧,我只是在2.2設備上試過,它確實工作正常。也許這隻與2.3 +有關。我試着用第三方任務殺手而不是來自股票的殺手,並表明它已經殺死了瀏覽器。但是當我打開它時,標籤仍然存在。 – FoamyGuy

2

如果您的設備已生根,您可以使用以下命令清除應用程序的所有數據。我不知道這是適用於每一個設備,因爲它依賴於包管理器

Runtime.getRuntime().exec("su -c /system/bin/pm clear com.android.browser"); 
0

就像一個電腦瀏覽器,Android的瀏覽器將讓您搜索到設備上的所有記錄。如果您擔心瀏覽器歷史記錄或不希望在您的Android中有任何記錄,則可以在幾分鐘內刪除所有瀏覽器歷史記錄。刪除您的瀏覽器記錄後,會刪除您登錄Chrome的所有緩存數據。