5

我有一个 android 示例应用程序,我想在其中打开任何 URL 到Chrome 自定义选项卡而不是WebView。我正在尝试从https://developer.chrome.com/multidevice/android/customtabs并能够做到这一点。

在这里我面临一个问题,那就是 -

如果我已经从Chrome Browser登录到 facebook ,那么当我将 facebook url 启动到Chrome Custom Tab时,它也会显示为已登录。

似乎Chrome 自定义选项卡正在使用Chrome 浏览器的 cookie 。但无论Chrome 浏览器的登录状态如何,我都想将任何 URL作为“未登录”状态启动到Chrome 自定义选项卡中。

问题是我没有找到任何方法来清除 chrome 自定义选项卡的 cookie,尽管之前我通过“cookieManager.removeAllCookie()”为 webview 清除了 cookie。

是否可以在启动 URL 之前清除 chrome 自定义选项卡的 cookie,任何人都可以帮助实现这一点吗?

这是我将 URL 放入 chrome 自定义选项卡的代码 -

private void launchURL(String url) {
    CustomTabsIntent.Builder builderCustomTabs = new CustomTabsIntent.Builder();
    CustomTabsIntent intentCustomTabs = builderCustomTabs.build();
    intentCustomTabs.intent.setPackage("com.android.chrome");
    intentCustomTabs.intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intentCustomTabs.launchUrl(this, Uri.parse(url));
}
4

1 回答 1

0

我用自己的应用程序做了类似的事情。在我的例子中,我使用了一个将用户注销并重定向到登录页面的 URL。

在对 Facebook 注销 URL 进行一些研究后,我发现只有拥有用户令牌才有可能。我认为您可以管理此问题的唯一方法是创建一个网页来执行一些 JavaScript 代码(使用 Facebook SDK)以将用户从 Facebook 注销,然后您可以将他重定向到 Facebook 登录页面。我从未测试过它,但也许它会起作用。

于 2017-01-29T19:22:04.200 回答