我有一个安卓WebView代码,我在其中设置Cookie值。然而,同样的操作在Mozilla GeckoView中不起作用。
使用WebView的工作示例:
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
webView = view.findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
final CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(getContext());
final CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.setCookie(url, "sessionid=123; path=/");
cookieSyncManager.sync();
webView.loadUrl("https://example.com");
}使用GeckoView的示例:
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
webView = view.findViewById(R.id.webView); // GeckoView
GeckoSession geckoSession = new GeckoSession();
geckoSession.getSettings().setAllowJavascript(true);
GeckoRuntimeSettings.Builder builder = new GeckoRuntimeSettings.Builder()
.javaScriptEnabled(true);
GeckoRuntime geckoRuntime = GeckoRuntime.create(Objects.requireNonNull(getContext()), builder.build());
webView.setSession(geckoSession, geckoRuntime);
final CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(getContext());
final CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.setCookie(url, "sessionid=123; path=/");
cookieSyncManager.sync();
geckoSession.loadUri("https://example.com");
}我没有得到任何错误,但Cookie值不会影响加载的页面。
发布于 2019-10-05 01:05:49
GeckoView目前不支持设置/获取cookies (2019年10月)。你可以关注/投票这个bug来实现它:https://bugzilla.mozilla.org/show_bug.cgi?id=1035417
https://stackoverflow.com/questions/55942412
复制相似问题