以编程方式清除Android映射历史记录

以编程方式清除Android映射历史记录,android,navigation,maps,Android,Navigation,Maps,我想通过编程清除android地图(和导航)应用程序的历史记录 我知道有一种方法可以通过 Browser.clearSearches(getContentResolver()); 以及相应的权限:com.android.browser.permission.WRITE\u HISTORY\u BOOKMARKS 这很好(2.2.) 但是我找不到任何方法来清除历史地图。 清除谷歌/历史在线也没有帮助 市场上有一些应用程序可以推广这一功能,因此必须有一个API,但我真的找不到它 我还对CLEAR\

我想通过编程清除android地图(和导航)应用程序的历史记录

我知道有一种方法可以通过

Browser.clearSearches(getContentResolver());
以及相应的权限:
com.android.browser.permission.WRITE\u HISTORY\u BOOKMARKS
这很好(2.2.)

但是我找不到任何方法来清除历史地图。 清除谷歌/历史在线也没有帮助

市场上有一些应用程序可以推广这一功能,因此必须有一个API,但我真的找不到它


我还对CLEAR\u APP\u缓存和CLEAR\u APP\u USER\u数据进行了一些处理,但似乎它们都是经过签名的/仅限root用户的权限,而且不管怎么说都太多了。

得到了aClean开发者Richard的回复:

要清除Google Maps最近的搜索建议,请执行以下操作:

SearchRecentSuggestions mapsrs = new SearchRecentSuggestions(this.getBaseContext(), "com.google.android.maps.SearchHistoryProvider", 1);
mapsrs.clearHistory();
仍然不清楚最近的导航目的地,已尝试,但似乎没有相应的目的地

重要提示:


一旦您完成mapsrs.clearHistory();之后,当“地图”应用程序被强制停止时,您的应用程序也将被终止。可能我没有注销/取消同步提供程序。但我现在已经放弃尝试重置它。

您是如何修复SecurityException的?java.lang.SecurityException:权限拒绝:打开提供商com.google.android.finsky.providers.RecentSuggestionsProviderI当时正在开发一个系统签名的应用程序。可能无法修复。这听起来像是需要SU权限才能解决的问题。