在本机App的背景中运行Javascript Webapp

时间:2013-10-28 09:18:17

标签: java javascript android web-applications service

我正在开发一个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,无论我的手机是否已锁定,显示屏已关闭等。

首先我想到了一个服务,但我不知道在显示网站时这是否有意义。

我希望有人可以帮助我或给我一些提示。

此致

1 个答案:

答案 0 :(得分:0)

根据您的具体用例,可以使用Mozilla Rhino之类的Javascript解释器。它不是一个浏览器,只是一个无头运行时,所以它可以在一个服务中运行(事实上,我正在我的一个项目中以这种方式使用它)。

这里的问题是将作业从WebView传递给Rhino - 这是两个独立的运行时。 Rhino和WebView都允许您将Java绑定到Javascript,因此它可以完成,但它不会很好。