![](/img/trans.png)
[英]Android Studio Webview (Java) - Is there a way to wait until a loading inside a web page is finished before loading url?
[英]Wait javascript in webview is finished to continue Android Java
我是學習java的新手。 我一直在努力工作2天。 我會生氣的。 請幫我
我希望當我的函數運行時,所有活動必須等到我的函數完成。
一個例子
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
setContentView(R.layout.activity_main);
webView2 = (WebView) findViewById(R.id.webView);
Log.v("htmlg","oncreate started");
main_command();
/*
*
* main_command(), When this command run application must wait in here.
*
* */
Log.v("htmlg", "oncreate finished");
}
public static 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放在rununithread()里面asynctask,我不能再做了。
我試圖將main_command()放在CountdownTimer中,但在CountdownTimer完成之前運行“oncreate finished”行。
現在我感到無助。 我不太了解java或android編程。 我是php程序員。 我嘗試做webview應用程序。 我不太了解java結構。 如果可以的話,你能寫出正確的工作代碼示例嗎? 因為我不了解所有的例子。 我查看並閱讀了所有可能有解決方案,但我無法理解。 我需要你的幫助。
謝謝
你不想阻止主線程,否則android系統會顯示“應用程序沒有響應”錯誤。 而且您的用戶很可能會選擇殺死該應用。
據我所知,您希望通過javascript命令調用應用程序時恢復應用程序。 這是你如何進行:
創建一個函數postMainCommand()
。 在此方法中,編寫在javascript命令調用之后需要執行的所有內容。 我的意思是:
Log.v("htmlg", "oncreate finished");
在完成Web工作后調用此方法。
直到你的工作正在進行中,你可以顯示一個不可取消的進度對話框,其中包含一些文字,如“請稍候...”。 或者,如果您可以跟蹤進度,則可以繼續更新消息:
ProgressDialog dialog = new ProgressDialog(this); dialog.setMessage("Please wait..."); dialog.setCancelable(false); dialog.show();
不可取消,因為您不希望用戶與中間的應用程序進行交互,對吧?
當您的webview作業結束時,請調用dialog.cancel();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.