如何检查应用程序是在前台还是在后台

我正在使用手机差距开发一个Android应用程序。 是否有可能检查应用程序正在运行在后台或前台使用JavaScript

我们可以通过调用navigator.app.exitApp()来closures应用程序。 我们也可以执行其他function。

有没有什么function可以告诉我们应用程序是在后台还是前台运行?

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

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

非常感谢确实。

Solutions Collecting From Web of "如何检查应用程序是在前台还是在后台"

暂停:

这是一个事件,当一个cordova应用程序被放入后台时触发。

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

细节

Cordova由两个代码库组成:native和JavaScript。 当本地代码将应用程序置于后台时,暂停事件被触发。

通常情况下,一旦收到Cordova的“deviceready”事件,您将需要在document.addEventListener中附加一个事件侦听器。 支持的平台

  • Android的
  • BlackBerry WebWorks(OS 5.0及更高版本)
  • iOS版
  • Windows Phone 7

快速示例

 document.addEventListener("pause", onPause, false); function onPause() { // Handle the pause event } 

恢复 :

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

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

细节

Cordova由两个代码库组成:native和JavaScript。 当本机代码从后台拖动应用程序时,会触发resume事件。

通常情况下,一旦收到Cordova的“deviceready”事件,您将需要在document.addEventListener中附加一个事件侦听器。 支持的平台

  • Android的
  • BlackBerry WebWorks(OS 5.0及更高版本)
  • iOS版
  • Windows Phone 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

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

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

然后你将注册一个简历事件来接收你在什么时候处于前台的通知(尽pipe程序逻辑应该也可以在这一点上启动)。

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

我不是一个手机差距的用户,但这些似乎是最明确的select,因为我正在查看api。