JavaScriptInterface没有做任何事情

时间:2012-09-07 20:50:46

标签: java javascript android webview

我一直在研究主线程和WebView之间的通信,但无论我尝试什么,似乎都没有发生过。不幸的是,我在Android中没有准备好Javascript调试控制台: - /

这可能是一个愚蠢的小错误,但我找不到问题。它根本不做任何事情。我没有看到任何错误或其他任何错误。

@SuppressLint("SetJavaScriptEnabled")
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate (savedInstanceState);
    setContentView (R.layout.activity_main);

    WebView web = (WebView) findViewById (R.id.web);
    web.getSettings ().setJavaScriptEnabled (true);
    web.setWebChromeClient (new WebChromeClient ());
    JavaScriptInterface jsInterface = new JavaScriptInterface (this);
    web.addJavascriptInterface (jsInterface, "accessAndroid");
}

public class JavaScriptInterface
{
    Context context;

    JavaScriptInterface (Context c)
    {
        context = c;
    }

    public void gotoArticle (int id)
    {
        jsHandler.post
        (
            new Runnable ()
            {
                public void run ()
                {
                    //TODO//
                }
            }
        );
    }

    public void showDialog (final String message)
    {
        jsHandler.post
        (
            new Runnable ()
            {
                public void run ()
                {
                    showDialog (message);
                }
            }
        );
    }
}

从加载的网页运行alert ('Something');时,一切正常。但是dlg ('Something');没有做任何事情。

0 个答案:

没有答案