アプリでCookieを使用していますが、すべてのブラウザーで正常に機能しますが、Androidデバイスでは、Cookieの設定が思ったほど速くないため、Cookieが保存されるまで時間がかかります。同じです。 Cookieを削除するとどうなりますか?Cookieを適切に機能させるために何かできることはありますか?回答を事前に感謝します。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview = new WebView(this);
webview.getSettings().setJavaScriptEnabled(true); // enable javascript
CookieManager.setAcceptFileSchemeCookies(true);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.acceptCookie();
String cookie = CookieManager.getInstance().getCookie("mylink");
final Activity activity = this;
webview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
webview.loadUrl("mylink");
setContentView(webview);
}
Lollipop以降では、CookieManagerシングルトンはそれ自体で正常に動作します。 (リンクを参照- http://developer.Android.com/reference/Android/webkit/CookieManager.html )ただし、Lollipopの前に、CookieSyncManagerから追加の静的メソッドを使用する必要がありました。以下のコードは、すべてのAndroid=バージョンでCookieをWebViewに設定するときに機能します-
CookieManager cookieManager = CookieManager.getInstance();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Lollipop) {
CookieSyncManager.createInstance(this);
}
cookieManager.setAcceptCookie(true);
JavaScriptとDom Storageを有効にするだけです。これにより、自分のログインの詳細をウェブビューに記録するのに役立ちますAndroid app。私はCookieManagerを使用しませんでしたが、これを有効にすると私にとってはトリックを実行します。
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);