我正在开发一个Android应用程序,它在其主要活动中显示一个webapp /网站,如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("http://localhost");
}
我的webApp /网站,我想打开,使用一些必须执行很长时间的JavaScript代码。
但是现在问题出现了:我想在屏幕关闭几秒钟后或其他任何事情发生时运行此javascript。理想情况下,我想打开我的Android应用程序,打开我的webapp并执行js-code,无论我的手机是否已锁定,显示屏已关闭等。
首先我想到了一个服务,但我不知道在显示网站时这是否有意义。
我希望有人可以帮助我或给我一些提示。
此致
答案 0 :(得分:0)
根据您的具体用例,可以使用Mozilla Rhino之类的Javascript解释器。它不是一个浏览器,只是一个无头运行时,所以它可以在一个服务中运行(事实上,我正在我的一个项目中以这种方式使用它)。
这里的问题是将作业从WebView传递给Rhino - 这是两个独立的运行时。 Rhino和WebView都允许您将Java绑定到Javascript,因此它可以完成,但它不会很好。