Файлы cookie Android WebView HTTP, не работающие в API 21

У меня есть приложение для Android, которое использует файлы cookie WebView и HTTP. Это приложение работает на устройствах Android с API 19 или ниже. API 21 не сохраняет cookie http для последующей ссылки.

Код Android WebView:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_token); WebView mWebView = (WebView) findViewById(R.id.activity_main_webView1); mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); mWebView.setWebViewClient(new WebViewClient()); mWebView.setWebChromeClient(new WebChromeClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { return false; } }); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setGeolocationEnabled(true); mWebView.getSettings().setAppCacheEnabled(true); mWebView.getSettings().setDatabaseEnabled(true); mWebView.getSettings().setDomStorageEnabled(true); mWebView.getSettings().setAllowUniversalAccessFromFileURLs(true); mWebView.loadUrl("file:///android_asset/index.html"); } 

Android Manifest

 uses-sdk android:minSdkVersion="16" android:targetSdkVersion="19" uses-permission android:name="android.permission.INTERNET" 

Серверный код, создающий файл cookie:

 Response.Cookies("mycookie")("myvalue") = "123456789" Response.Cookies("mycookie").Expires = Date() + 10 Response.Cookies("mycookie").Secure = True 

Файл cookie для чтения кода сервера:

 Response.Write Request.Cookies("mycookie")("myvalue") 
  • Это возвращает пустое значение API 21 в WebView

Когда это работает на API 19 или ниже, я могу читать / писать файлы cookie без проблем. Я использую файлы cookie, как и при посещении любой веб-страницы, использующей файлы cookie. Любая помощь будет оценена по достоинству.

API 21 или Lollipop требует, чтобы это было добавлено в ваш APP

 if (Build.VERSION.SDK_INT >= 21) { // AppRTC requires third party cookies to work CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptThirdPartyCookies(mWebView, true); } 

Работает снова!