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

vui*_*ran 8 javascript android push-notification cordova

我正在使用手机差距开发Android应用程序.是否可以使用javascript检查应用程序是在后台运行还是在前台运行?

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

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

实际上,我想让应用程序以下列方式工作.

如果应用程序位于前台,则应显示警告消息而不是推送通知.如果app在后台,则应显示推送通知.

非常感谢.

Sae*_* N. 28

暂停:

这是Cordova应用程序放入后台时触发的事件.

document.addEventListener("pause", yourCallbackFunction, false);
Run Code Online (Sandbox Code Playgroud)

细节

Cordova包含两个代码库:本机代码和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
}
Run Code Online (Sandbox Code Playgroud)

恢复 :

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

document.addEventListener("resume", yourCallbackFunction, false);
Run Code Online (Sandbox Code Playgroud)

细节

Cordova包含两个代码库:本机代码和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
}
Run Code Online (Sandbox Code Playgroud)

更多信息:

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