Javascript Webview未加载两页

Javascript Webview未加载两页,javascript,android,webview,Javascript,Android,Webview,在我的应用程序中,我的一个活动是基于网页的。我想从我的学生门户加载一个显示ExamStatingPlan的网页。我正在使用JavaScript登录网站,然后我想加载在同一网络视图上显示我的ExamStatingPlan的网页。我面临的问题是,当我使用javascript登录时,登录成功,但没有加载显示我的examstatingplan的网页。如果我最小化应用程序,然后几秒钟后将其最大化,它将加载所需页面。我想我没有正确实现onPageFinished。如果有人帮我解决这个问题,那将非常有帮助 谢

在我的应用程序中,我的一个活动是基于网页的。我想从我的学生门户加载一个显示ExamStatingPlan的网页。我正在使用JavaScript登录网站,然后我想加载在同一网络视图上显示我的ExamStatingPlan的网页。我面临的问题是,当我使用javascript登录时,登录成功,但没有加载显示我的examstatingplan的网页。如果我最小化应用程序,然后几秒钟后将其最大化,它将加载所需页面。我想我没有正确实现onPageFinished。如果有人帮我解决这个问题,那将非常有帮助

谢谢

MainActivity.java

package com.example.ebad.badwae;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    final String url = "http://111.68.99.8/StudentProfile/";
    final String urltesting = "http://111.68.99.8/StudentProfile/ExamSeatingPlan.aspx";
    WebView view;
    boolean loaded;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        view = (WebView) findViewById(R.id.webview);
        WebSettings webSettings = view.getSettings();

        webSettings.setJavaScriptEnabled(true);
        view.loadUrl(url);


        view.setWebViewClient(new WebViewClient() {

            @Override
            public void onPageFinished(WebView views, String urls) {
                view.loadUrl("javascript: {" + "document.getElementById('ctl00_Body_ENROLLMENTTextBox_tb').value = '" + "01-134121-061" + "';" +
                        "document.getElementById('ctl00_Body_PasswordTextBox_tb').value = '" + "123456789" + "';" +
                        "document.getElementsByName('ctl00$Body$LoginButton')[0].click();" + "};");

                onPageFinishede(views, urls);

            }


            public void onPageFinishede(WebView views, String urls) {
                if (!loaded) {
                    views.loadUrl(urltesting);
                    loaded = true;

                }

            }

        });

    }

}

现在它正在加载新页面,但它使用了将近80%的CPU。有什么方法可以减少CPU使用量吗?

在第一页完成后,尝试调用
loadotherpage()
。 因此,您需要更改以下行

 view.setWebViewClient(new WebViewClient() {
            public void onPageFinished(WebView views, String urls) {

                view.loadUrl("javascript: {" + "document.getElementById('ctl00_Body_ENROLLMENTTextBox_tb').value = '" + "01-134121-061" + "';" +
                        "document.getElementById('ctl00_Body_PasswordTextBox_tb').value = '" + "123456789" + "';" +
                        "document.getElementsByName('ctl00$Body$LoginButton')[0].click();" + "};");

            }

        });

        loadotherpage();


在第一页完成后,尝试调用
loadotherpage()
。 因此,您需要更改以下行

 view.setWebViewClient(new WebViewClient() {
            public void onPageFinished(WebView views, String urls) {

                view.loadUrl("javascript: {" + "document.getElementById('ctl00_Body_ENROLLMENTTextBox_tb').value = '" + "01-134121-061" + "';" +
                        "document.getElementById('ctl00_Body_PasswordTextBox_tb').value = '" + "123456789" + "';" +
                        "document.getElementsByName('ctl00$Body$LoginButton')[0].click();" + "};");

            }

        });

        loadotherpage();


您是否尝试过
视图。加载URL,而不是查看。loadUrl
?@ρ∑ρєK它可以工作,但它使用了几乎80%的CPU。您尝试过
视图吗。加载URL,而不是查看。loadUrl
?@ρ∑ρρK其工作正常,但它使用了几乎80%的CPU。我尝试了相同的问题,如果我最小化应用程序并再次将其最大化,则不会加载其他页面,然后显示其他页面。我尝试了相同的问题,如果我最小化应用程序并再次将其最大化,则不会加载其他页面,然后显示其他页面。。