我需要每个用户开始使用应用程序时就知道了。
案例1(OK):应用程序未启动。
用户开始从头开始应用。
我上添加应用程序的自举一个听众,我知道在启动时。
案例2(TODO):应用程序已启动,但它不活跃了
用户重新从任务栏中的应用程序。
我想知道当应用程序来自于任务栏的前景(如ALT + TAB)。
这是棘手赶,因为应用程序仍在运行,我不知道该听哪个事件。 事实上,我甚至不知道如何命名此行为。
我需要每个用户开始使用应用程序时就知道了。
案例1(OK):应用程序未启动。
用户开始从头开始应用。
我上添加应用程序的自举一个听众,我知道在启动时。
案例2(TODO):应用程序已启动,但它不活跃了
用户重新从任务栏中的应用程序。
我想知道当应用程序来自于任务栏的前景(如ALT + TAB)。
这是棘手赶,因为应用程序仍在运行,我不知道该听哪个事件。 事实上,我甚至不知道如何命名此行为。
没有为应用程序的简历和暂停在科尔多瓦的事件,所以你不需要编辑科尔多瓦类文件。 下面是我目前使用的iOS / Android的应用程序运行的代码。
window.onload = function() {
//only fired once when app is opened
document.addEventListener("deviceready", init, false);
//re-open app when brought to foreground
document.addEventListener("resume", init, false);
//trigger when app is sent to background
document.addEventListener("pause", onPause, false);
}
function init() {
console.log('device ready or resume fired');
}
在iOS应用程序内developper接受帮助我。 他的回答很适合我非常好,因为它看起来干净等可重复使用的。 所以,我将在这里产生的:
在“应用程序来前台”事件可以通过applicationWillEnterForeground事件被捕获。 PhoneGap的/科尔多瓦允许通过科尔多瓦类调用JavaScript函数。 web视图对象有一个专门的方法来启动JS脚本。
所以,我打开该文件谟/班/科尔多瓦/ AppDelegate.m:
- (void)applicationWillEnterForeground:(UIApplication *)application {
NSLog(@"applicationWillEnterForeground: %@", self.viewController.webView);
[self.viewController.webView stringByEvaluatingJavaScriptFromString:@"notifyForegroundEvent();"];
}
我在我的js文件的根的地方加入notifyForegroundEvent()方法:
var notifyForegroundEvent = function() {
console.log('notifyForegroundEvent()');
// Do something here
}
而
正如我在Facebook上看到(destkop,不移动)前一段时间,他们检查鼠标移动,以确定是否为已读或不应该标记为接收到的聊天消息。 我知道,这不是解决办法,但它可能会指出你在一个很好的方向。 我还要检查什么发生了输入焦点,当您切换到其他应用程序。 也许它模糊了。