【问题标题】:Clear Android Maps history programmatically以编程方式清除 Android 地图历史记录
【发布时间】:2018-05-06 17:26:10
【问题描述】:

我想以编程方式清除 android 地图(和导航)应用程序的历史记录。

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

清除浏览器历史记录
Browser.clearSearches(getContentResolver());

以及对应的权限:com.android.browser.permission.WRITE_HISTORY_BOOKMARKS 这很好用(2.2.)。

但我找不到任何清除地图历史记录的方法。 在线清除谷歌/历史记录也无济于事。

市场上有一些应用程序在推广这样做,所以必须有一个API,但我真的找不到它。

我也搞砸了 CLEAR_APP_CACHE 和 CLEAR_APP_USER_DATA 但似乎它们是已签名/仅限 root 的权限,而且删除太多了。

【问题讨论】:

  • 这听起来像是你需要 SU 权限的东西。

标签: android navigation maps


【解决方案1】:

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

要清除 Google-Maps-Recent-Search-Suggestions:

SearchRecentSuggestions mapsrs = new SearchRecentSuggestions(this.getBaseContext(), "com.google.android.maps.SearchHistoryProvider", 1);
mapsrs.clearHistory();

仍然没有清除导航的最近目的地,尝试了但似乎没有等效的..?

重要提示:

一旦你做了 mapsrs.clearHistory();之后,当 Maps-Application 被强制停止时,您的应用程序也将被杀死。可能我错过了取消注册/取消同步提供程序。但是我已经放弃尝试重新设置它了。

【讨论】:

  • 您是如何修复 SecurityException 的? java.lang.SecurityException:权限被拒绝:打开提供程序 com.google.android.finsky.providers.RecentSuggestionsProvider
  • 当时我正在开发一个系统签名的应用程序。可能无法修复。
猜你喜欢
  • 2016-01-27
  • 1970-01-01
  • 2011-04-16
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 2013-05-04
  • 2017-05-11
  • 2013-09-23
相关资源
最近更新 更多