等待webview中的javascript完成以继续Android Java
我是学java的新手。我已经花了两天的时间来研究如何做到这一点。我会发疯的。请帮帮我 我希望当我的函数运行时,所有活动都必须等到函数完成 一个例子等待webview中的javascript完成以继续Android Java,java,android,multithreading,webview,countdowntimer,Java,Android,Multithreading,Webview,Countdowntimer,我是学java的新手。我已经花了两天的时间来研究如何做到这一点。我会发疯的。请帮帮我 我希望当我的函数运行时,所有活动都必须等到函数完成 一个例子 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); getSupportActionBar().hide(); setContentView(R.layout.activity_main); webView2=(WebView)findViewById
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
setContentView(R.layout.activity_main);
webView2=(WebView)findViewById(R.id.WebView);
Log.v(“htmlg”,“oncreate已启动”);
main_命令();
/*
*
*main_command(),当此命令运行时,应用程序必须在此处等待。
*
* */
Log.v(“htmlg”,“oncreate finished”);
}
公共静态int finished=0
public void main_command(){
/*
*
* There is some webview actions in here. it takes about 5 minutes.
*
* When webview operations are finished.
* I call javascript command javascript:window.HTMLOUT.ok();
* I want everything wait until webview operations are finished and javascript command runned.
*
* */
}
但是我没有办法做到。运行main_command()时,Log.v()函数将立即在它之后运行。但main_command()仍在运行,尚未完成。完成后,javascript命令将调用android内部的函数。然后流程将完成,应用程序可以继续在原来的位置工作
现在,我在讲述我的经历
- 我试图在Asynctask中编写webview代码,但无法在Asynctask中使用webview
- 我将webview放在asynctask中的RunUnitThread()中,我不能再这样做了
- 我试图将main_command()放在倒计时内,但“oncreate finished”行在倒计时结束前运行
谢谢您不想阻止主线程,否则android系统将显示“应用程序未响应”错误。你的用户很可能会选择关闭这个应用程序 据我所知,当您通过javascript命令调用应用程序时,您希望应用程序恢复。这是您可以继续进行的方式:
postMainCommand()
。在这个方法中,编写javascript命令调用之后需要执行的所有内容。我指的是像:
Log.v("htmlg", "oncreate finished");
在web工作完成后调用此方法ProgressDialog dialog = new ProgressDialog(this);
dialog.setMessage("Please wait...");
dialog.setCancelable(false);
dialog.show();
不可取消,因为您不希望用户在两者之间与应用程序交互,对吗dialog.cancel()代码>
您不希望阻止主线程,否则android系统将显示“应用程序未响应”错误。你的用户很可能会选择关闭这个应用程序 据我所知,当您通过javascript命令调用应用程序时,您希望应用程序恢复。这是您可以继续进行的方式:
postMainCommand()
。在这个方法中,编写javascript命令调用之后需要执行的所有内容。我指的是像:
Log.v("htmlg", "oncreate finished");
在web工作完成后调用此方法ProgressDialog dialog = new ProgressDialog(this);
dialog.setMessage("Please wait...");
dialog.setCancelable(false);
dialog.show();
不可取消,因为您不希望用户在两者之间与应用程序交互,对吗dialog.cancel()代码>
是否要停止ui或代码运行?是否要停止ui或代码运行?