是否有人试图让Android WebView.loadUrl(...)同步运行?
我的情况是:我想执行一些javascript但我不想初始化执行javascript的WebView,直到执行javascript的时间。为了使javascript成功执行,需要准备调用堆栈。
我需要调用loadUrl来加载加载javascript方法的html页面。问题是loadUrl被调用然后立即返回,在此过程中拆除调用堆栈。然后,WebViewClient :: onPageFinished(...)稍后被调用,表明WebView已准备就绪,我可以执行我的脚本。但现在已经太晚了,因为我的调用栈已经消失了。
我想loadUrl等待onPageFinished,但问题是onPageFinished在调用loadUrl的同一个线程中被调用(即使loadUrl发生在另一个线程中)。所以在调用loadURL之后等待阻塞线程,onPageFinished永远不会被调用。
android / java中是否有一些模式允许线程等待但是线程的消息循环继续执行以便可以接收到该线程的通知?