Zeb*_*Zeb 5 cookies android webview
我有一个使用WebView和HTTP cookie的Android应用程序.此应用程序适用于运行API 19或更低版本的Android设备.API 21未保存http cookie供以后参考.
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");
}
Run Code Online (Sandbox Code Playgroud)
Android Manifest
uses-sdk android:minSdkVersion="16" android:targetSdkVersion="19"
uses-permission android:name="android.permission.INTERNET"
Run Code Online (Sandbox Code Playgroud)
服务器端代码创建cookie:
Response.Cookies("mycookie")("myvalue") = "123456789"
Response.Cookies("mycookie").Expires = Date() + 10
Response.Cookies("mycookie").Secure = True
Run Code Online (Sandbox Code Playgroud)
服务器端代码读取cookie:
Response.Write Request.Cookies("mycookie")("myvalue")
Run Code Online (Sandbox Code Playgroud)
当它在API 19或更低版本上运行时,我可以读/写cookie没问题.我正在使用cookie访问任何使用cookie的网页.任何帮助,将不胜感激.
Zeb*_*Zeb 18
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);
}
Run Code Online (Sandbox Code Playgroud)
再次工作!
| 归档时间: |
|
| 查看次数: |
6682 次 |
| 最近记录: |