веб-просмотр не принимает куки - PullRequest
0 голосов
/ 31 января 2020

У меня простое веб-просмотр, и хотя я использую setAcceptCook ie и setAcceptThirdPartyCookies, веб-просмотр отказывается принимать файлы cookie с веб-сайта, который я пытаюсь загрузить. Я пытался посмотреть на другие посты и не нашел ничего полезного.

Вот моя активность:

пакет de.boxine.tonieapp.web;

import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.webkit.CookieManager;
import android.webkit.WebView;
import android.widget.RelativeLayout;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import de.boxine.tonieapp.AbstractBaseActivity;
import de.boxine.tonieapp.R;

public class WebActivity extends AbstractBaseActivity {
    private static String BUNDLE_WEB_URL = "web_url";

    private String url;

    @Override
    public void onCreate(@Nullable final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final Bundle extras = getIntent().getExtras();

        if (extras == null || !extras.containsKey(BUNDLE_WEB_URL)) {
            throw new IllegalArgumentException(WebActivity.class.getName()
                    + " must be created by using newInstance()");
        }
        url = extras.getString(BUNDLE_WEB_URL);
        setContentView(R.layout.activity_web);
    }

    @Override
    protected void onStart() {
        super.onStart();

        WebView webView = findViewById(R.id.webview);
        webView.getSettings().setJavaScriptEnabled(true);

        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.setAcceptCookie(true);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
            cookieManager.setAcceptThirdPartyCookies(webView, true);

        webView.loadUrl(url);
    }

    public static Intent newInstance(final Context context,
                                     @NonNull final String url) {
        final Intent intent = new Intent(context, WebActivity.class);
        intent.putExtra(BUNDLE_WEB_URL, url);
        return intent;
    }
}

А вот мой макет:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:elevation="@dimen/toolbar_elevation"
        android:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

Спасибо заранее!

...