4
我有一个使用WebView和HTTP cookie的Android应用程序。此应用程序适用于运行API 19或更低版本的Android设备。 API 21不保存http cookie供以后参考。Android WebView HTTP Cookie在API中不起作用21
的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清单
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的任何网页。任何帮助,将不胜感激。
谢谢!你在哪里找到这个? Android是否有“我们在升级时破坏的内容”页面? – 2015-08-20 20:34:03
@DavidAmey,他们呢。 https://developer.android.com/about/versions/android-5.0-changes.html#BehaviorWebView – ITJscott 2017-01-23 14:30:17
很棒,谢谢! – RonZ 2017-03-20 14:53:16