Webview占用了近80%的CPU

时间:2015-08-24 17:14:45

标签: javascript android webview

我正在尝试使用Javascript登录我的应用程序的网页,但在成功登录后,我想加载一个显示 ExamSeatingPlan 的页面。该应用程序正常工作,成功登录后加载所需的页面,但它几乎 80% CPU 。我认为我没有实现 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 urlwanttoload = "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(urlwanttoload);
                    loaded = true;
                }
            }

        });

    }

}

0 个答案:

没有答案