vau*_*ham 6 javascript ipad sencha-touch cordova-2.0.0
每次用户开始使用该应用程序时我都需要知道.
案例1(确定):应用程序未启动.
用户从头开始应用程序.
我在app的bootstrap上添加了一个监听器,我知道它何时启动.
案例2(TODO):该应用程序已启动,但它已不再处于活动状态
用户从任务栏重新加载应用程序.
我想知道应用程序何时从任务栏到达前台(如alt + tab).
抓住这个很棘手,因为应用程序仍在运行,我不知道要听哪个事件.事实上,我甚至不知道如何命名这种行为.
在Cordova中有一个应用程序恢复和暂停的事件,因此您无需编辑Cordova类文件.以下是我目前在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');
}
Run Code Online (Sandbox Code Playgroud)
一位 ios 应用程序开发人员接受帮助我。他的回答非常适合我,因为它看起来干净且可重复使用。所以我会在这里制作它:
\n\n“应用程序来到前台”事件可以通过applicationWillEnterForeground事件捕获。\nPhonegap/Cordova 允许通过 Cordova 类调用 javascript 函数。webView对象有一个专门的方法来启动 js 脚本。
\n\n所以我打开文件 Projet/Classes/Cordova/AppDelegate.m :
\n\n- (void)applicationWillEnterForeground:(UIApplication *)application {\n NSLog(@"applicationWillEnterForeground: %@", self.viewController.webView);\n [self.viewController.webView stringByEvaluatingJavaScriptFromString:@"notifyForegroundEvent();"];\n\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我在 js 文件根目录中的某个位置添加了 notificationForegroundEvent() 方法:
\n\nvar notifyForegroundEvent = function() {\n console.log(\'notifyForegroundEvent()\');\n // Do something here\n}\nRun Code Online (Sandbox Code Playgroud)\n\n等等\xc3\xa0
\n| 归档时间: |
|
| 查看次数: |
1587 次 |
| 最近记录: |