0

对此我很抱歉,因为我在这个 Android 开发方面非常绿色,我可能会在这里打败一匹死马——我们使用的软件 tjat 有一个移动版本,但它是一个移动网站,我正在尝试将它构建成一个独立的使用 webview 的 web 应用程序。

该应用程序将使我进入登录屏幕,但是当我尝试登录时弹出显示其登录的弹出窗口,并且在我的 web 视图中,它一直停留在那里。它不会超过这一点。在默认浏览器中它工作正常。

您能否以最简单的方式帮助我完成我需要做的事情?;-) 谢谢!

package com.giantflyingsaucer;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class WebPageLoader extends Activity
{
final Activity activity = this;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.main);
    WebView webView = (WebView) findViewById(R.id.webview);
    webView.getSettings().setJavaScriptEnabled(true);

    webView.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {
            activity.setTitle("Loading...");
            activity.setProgress(progress * 100);

            if(progress == 100)
                activity.setTitle(R.string.app_name);
        }
    });

    webView.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
        {
            // Handle the error
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }
    });

    webView.loadUrl("http://URL.USED.FOR/WEBAPP");
}
}
4

2 回答 2

1

这是通过使用 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); 解决的。}

于 2012-05-23T12:16:57.520 回答
0

也许您的登录正在尝试使用某些网络插件。尝试添加其中一项或两项:

    mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
    mWebView.getSettings().setPluginsEnabled(true);
于 2012-05-22T16:02:13.680 回答