Created
July 26, 2010 23:50
-
-
Save alunny/491468 to your computer and use it in GitHub Desktop.
appActive event for phonegap-iphone
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// insert this into your AppDelegate.m file | |
// this will fire an "appActive" event on the webview every time the app is launched | |
// whether through fast-app switching or a cold launch | |
- (void)applicationDidBecomeActive:(UIApplication *)application { | |
// delay of 1ms ensures code will be executed in new stack trace | |
// that way, event listener can't block applicationDidBecomeActive | |
// and crash the app | |
NSString *fireActiveEvent = @"window.setTimeout(function() { \n" | |
"var appActive = document.createEvent('Events'); \n" | |
"appActive.initEvent('appActive'); \n" | |
"document.dispatchEvent(appActive); \n" | |
"}, 1);"; | |
[webView stringByEvaluatingJavaScriptFromString:fireActiveEvent]; | |
} |
Agreed on lowercase
The android lifecycle methods are:
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
There's some crossover there - I think onResume is the closest equivalent to applicationDidBecomeActive
So useful, we need that by default in Phonegap !
I agree, this should totally be in PhoneGap by default! Why isn't it yet? :)
Any tips on how I can accomplish the same as the above gist on Android? I'm not that good with Java :P
EDIT: Figured it out: https://gist.github.com/9de0b38205ee62b43dfe
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For simplicity, I recommend we make all events lowercase, we ran into issues with deviceReady vs deviceready
Otherwise, super cool!
Ultimately, we need events for all of these:
– application:didFinishLaunchingWithOptions:
– applicationDidBecomeActive:
– applicationWillResignActive:
– applicationDidEnterBackground:
– applicationWillEnterForeground:
– applicationWillTerminate:
– applicationDidFinishLaunching: