【问题标题】:Run Javascript Webapp in Background of native App在本机应用程序的后台运行 Javascript Webapp
【发布时间】:2013-10-28 09:18:17
【问题描述】:

我正在开发一个 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 应用程序,它会打开我的 web 应用程序并执行 js 代码,无论我的手机是否被锁定、显示器是否关闭等等。

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

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

问候

【问题讨论】:

    标签: java javascript android web-applications service


    【解决方案1】:

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

    这里的问题是将作业从您的 WebView 传递到 Rhino - 这是两个独立的运行时。 Rhino 和 WebView 都允许你将 Java 绑定到 Javascript,所以它可以完成,但它不会是直截了当的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 2011-09-11
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 2012-10-31
      相关资源
      最近更新 更多