所以我的应用程序中有一个内部浏览器。当给定一个 facebook 地址时,Android 会接管并打开 Facebook 应用程序......这会给手机上的后退按钮带来有趣的效果,因为后退按钮会将用户带回视图......然后再次打开 facebook 应用程序......这给出了一个有趣的效果...
有没有办法“捕捉”这种情况并删除 WebViewClient 的“历史”?
所以我的应用程序中有一个内部浏览器。当给定一个 facebook 地址时,Android 会接管并打开 Facebook 应用程序......这会给手机上的后退按钮带来有趣的效果,因为后退按钮会将用户带回视图......然后再次打开 facebook 应用程序......这给出了一个有趣的效果...
有没有办法“捕捉”这种情况并删除 WebViewClient 的“历史”?
您可以覆盖 shouldOverrideUrlLoading(),如下所示:
private class MyWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
// detect facebook url, respond accordingly
}
}
检查是否安装了 facebook(或其他一些处理程序)在这里解释: 如何检测可以处理请求的 Intent 操作的 android 应用程序?
并且您可以确保如果您返回到您的应用程序,不会重新加载相同的重定向页面。