JSスクリプトの実行にWebViewを使用しています。ただし、このスクリプトがハングする場合があります。スクリプトを実行する前にタイマーを設定し、指定した遅延の後にこのスクリプトを強制終了したい(このスクリプトの動作が長すぎる場合)。しかし、スクリプトを強制終了する方法は?WebView.stopLoading()を使用しようとしましたが、役に立ちません。
これは私のコードです:
WebView webView;
void runScript() {
webView = new WebView(context);
TimerTask timerTask=new TimerTask() {
@Override
public void run() {
webView.stopLoading();
}
};
Timer timer=new Timer();
timer.schedule(timerTask, 5000);
WebSettings webSettings = webView.getSettings();
webSettings.setSavePassword(false);
...
webView.setWebChromeClient(new ChromeClient(new JSHandler(context)));
webView.loadData("<script language=\"JavaScript\">\n" + jsCode + "\n</script>", "text/html", "utf-8");
}