小编yan*_*un0的帖子

android webview.loadUrl不会加载其他网页

在我简单的Android应用程序中,我以编程方式在WebView中加载网页.它最初以默认网页开始,然后根据第一个用户输入加载下一个网页.JavaScript通过消息将信息传递回Android方面.一切正常,除非第二个网页不加载,无论我做什么和我给的URL.当我加载第二个测试时,会出现一个警告"必须在同一个线程上调用所有WebView方法." 但据我所知,我不使用多线程,也不需要使用多线程.

这是相关的代码:

public class MainActivity extends Activity {
    public WebView myWebView;
    public int state;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.activity_main);

        myWebView = (WebView) findViewById(R.id.webview);

        WebSettings myWebViewSettings = myWebView.getSettings();
        myWebViewSettings.setJavaScriptEnabled(true);
        myWebViewSettings.setDomStorageEnabled(true);
        myWebViewSettings.setAllowFileAccessFromFileURLs(true);
        myWebViewSettings.setAllowUniversalAccessFromFileURLs(true);

        myWebView.addJavascriptInterface(new JavascriptHandler(), "cpjs");

        state = 0;
        loadNextTest();
    }

    public void webviewLoadURL(String url) {
        Log.d("app", "now loading " + url);
        myWebView.clearHistory();
        myWebView.clearFormData();
        myWebView.clearCache(true);
        myWebView.loadUrl(url);
    }

    final class JavascriptHandler {
           @JavascriptInterface
           public void sendToAndroid(String text) {
                if (text.equals("confirmed at target")) {
                    loadNextTest();
                }
           } …
Run Code Online (Sandbox Code Playgroud)

javascript java android webview android-webview

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

android-webview ×1

java ×1

javascript ×1

webview ×1