带有嵌入式Flash的Android WebView无法进行外部接口调用

时间:2011-01-18 07:46:44

标签: javascript android flash webview

我正在尝试使用WebView显示全屏swf。我的目标是将swf调用回javascript-> java来调用函数。我已经尝试使用swfobject嵌入我的swf并执行allowScriptAccess。这个方法看起来很糟糕,但是唉,无法调用外部javascript。当我执行loadUrl(文件:///android_asset/file.swf?width = 200& height = 343)时,闪存看起来最好,但此方法也不允许闪存执行外部调用。

有人有这个问题吗?我可以通过我的javascript客户端代码调用它们。保持警报和其他一些链接。我认为只是在闪存电话或许可中遗漏了一些小块。

我们已经试过了。

ExternalInterface.call("window.alert", "test");
ExternalInterface.call("alert", "test");
ExternalInterface.call("window.histree.alert", "test");

这是我的webview设置

   /* Get the WebView */
   wv1 = (WebView) findViewById(R.id.wv1);
   wv1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

    /* Activate JavaScript */
    wv1.getSettings().setJavaScriptEnabled(true);
    wv1.getSettings().setPluginsEnabled(true);
    wv1.setBackgroundColor(R.color.black);
    wv1.setWebViewClient(new InsideWebViewClient());
    wv1.addJavascriptInterface(new HistreeJavaScriptInterface(), "histree");

    wv1.setWebChromeClient(new WebChromeClient() {          
        @Override
        public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
            AlertDialog.Builder adb=new AlertDialog.Builder(HistreeView.this);
            adb.setMessage(message);
            adb.setPositiveButton(R.string.OK, null);
            adb.show();         

            result.confirm();
            return true;
        }
    });

0 个答案:

没有答案