2014-08-30 128 views
8

我正在使用手机间隙来开发Android应用程序。是否有可能使用JavaScript检查应用程序是在后台还是前台运行?如何检查应用程序是否在前台或后台

因为我们可以致电navigator.app.exitApp()关闭应用程序。我们也可以执行其他功能。

是否有任何功能可以告诉我们该应用程序是在后台还是前台运行?

其实,我想让应用程序以下面的方式工作。

如果应用程序处于前台,它应该显示一条警告消息而不是推送通知。 如果应用程序在后台,它应该显示推送通知。

非常感谢确实。

回答

26

暂停:

这是在科尔多瓦应用程序放入后台时触发的事件。

document.addEventListener("pause", yourCallbackFunction, false); 

详细

科尔多瓦包括两个代码库:本地和JavaScript。当本机代码将应用程序置于后台时,会触发暂停事件。

通常情况下,一旦收到Cordova'deviceready'事件,您将希望附加一个带有document.addEventListener的事件侦听器。 支持的平台

  • 的Android
  • 黑莓WebWorks的(OS 5.0或更高)
  • 的iOS
  • Windows电话7

快速例

document.addEventListener("pause", onPause, false); 

function onPause() { 
    // Handle the pause event 
} 

简历:

这是从后台检索Cordova应用程序时触发的事件。

document.addEventListener("resume", yourCallbackFunction, false); 

详细

科尔多瓦包括两个代码库:本地和JavaScript。当本机代码从后台拉取应用程序时,resume事件被触发。

通常情况下,一旦收到Cordova'deviceready'事件,您将希望附加一个带有document.addEventListener的事件侦听器。 支持的平台

  • 的Android
  • 黑莓WebWorks的(OS 5.0或更高)
  • 的iOS
  • Windows电话7

快速例

document.addEventListener("resume", onResume, false); 

function onResume() { 
    // Handle the resume event 
} 

更多信息的位置:

http://docs.phonegap.com/en/2.2.0/cordova_events_events.md.html#resume

http://docs.phonegap.com/en/2.2.0/cordova_events_events.md.html#pause

+0

由于分配是为我工作。我只是声明了一个变量,并设置相关的值暂停和恢复事件。稍后我会在需要时检查该值,以查看应用的最新状态。 – vuimran 2014-08-31 16:56:49

+0

欢迎您:) – 2014-08-31 17:51:30

0

它在我看来像你会注册一个“暂停”事件 - 这会告诉你,你的应用程序已经到了背景。

http://docs.phonegap.com/en/1.1.0/phonegap_events_events.md.html#pause

然后,您可以注册一个恢复事件接收,当你在前台(虽然程序逻辑也许应该在这一点上踢反正)的通知。

http://docs.phonegap.com/en/1.1.0/phonegap_events_events.md.html#resume

我不是电话用户的差距,但这些似乎是最明智的选择,因为我看在API。

相关问题