【发布时间】:2017-06-07 20:57:36
【问题描述】:
我有一个运行良好的 webview,如下所示:
wv = (WebView) findViewById(R.id.wv);
//Enable JavaScript
wv.getSettings().setJavaScriptEnabled(true);
wv.setFocusable(true);
wv.setFocusableInTouchMode(true);
//Set Render Priority To High
wv.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
wv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
wv.getSettings().setDomStorageEnabled(true);
wv.getSettings().setDatabaseEnabled(true);
wv.getSettings().setAppCacheEnabled(true);
wv.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
//Load Url
wv.loadUrl("https://str8red.com/");
然后我会在单击按钮时运行以下代码:
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
final RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
StringRequest stringRequest = new StringRequest(Request.Method.GET,"https://str8red.com/loggedincheck",
new Response.Listener<String>(){
@Override
public void onResponse(String response) {
textView.setText(response);
requestQueue.stop();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
textView.setText("Something went wrong");
error.printStackTrace();
requestQueue.stop();
}
});
requestQueue.add(stringRequest);
}
});
该地址仅返回一个字符串“True”或“False”,具体取决于用户是否登录到 webview。好消息是它返回了一个字符串,但它总是返回 False,即使我使用 webview 登录到我的站点也是如此。我知道地址 https://str8red.com/loggedincheck 可以正常工作,因为它在网络浏览器和 iOS 应用程序中都可以使用。
我假设当按钮被点击时,它没有使用相同的 webview,因此不知道用户是否登录。
我已经在网上寻找解决方案,但没有解决问题。任何帮助将不胜感激。
如果您需要任何其他信息,请随时询问。
【问题讨论】: