Podążając ścieżką w łączu Michiel (http://www.tinytimgames.com/2011/09/01/unity-plugins-and-uiapplicationdidfinishlaunchingnotifcation/), możesz utworzyć klasę, która metoda init dodaje obserwatora do klucza UIApplicationDidFinishLaunchingNotification. Gdy wykonywana jest metoda obserwatora, opcje launchOptions będą zawarte w userInfo powiadomienia. Robiłem to z lokalnych powiadomień więc to było wdrożenie mojej klasy:
static BOOL _launchedWithNotification = NO;
static UILocalNotification *_localNotification = nil;
@implementation NotificationChecker
+ (void)load
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(createNotificationChecker:)
name:@"UIApplicationDidFinishLaunchingNotification" object:nil];
}
+ (void)createNotificationChecker:(NSNotification *)notification
{
NSDictionary *launchOptions = [notification userInfo] ;
// This code will be called immediately after application:didFinishLaunchingWithOptions:.
UILocalNotification *localNotification = [launchOptions objectForKey: @"UIApplicationLaunchOptionsLocalNotificationKey"];
if (localNotification)
{
_launchedWithNotification = YES;
_localNotification = localNotification;
}
else
{
_launchedWithNotification = NO;
}
}
+(BOOL) applicationWasLaunchedWithNotification
{
return _launchedWithNotification;
}
+(UILocalNotification*) getLocalNotification
{
return _localNotification;
}
@end
Potem, kiedy mój kontekst Rozszerzenie jest inicjowany sprawdzić klasę NotificationChecker aby sprawdzić, czy aplikacja została uruchomiona z powiadomienia.
BOOL appLaunchedWithNotification = [NotificationChecker applicationWasLaunchedWithNotification];
if(appLaunchedWithNotification)
{
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
UILocalNotification *notification = [NotificationChecker getLocalNotification];
NSString *type = [notification.userInfo objectForKey:@"type"];
FREDispatchStatusEventAsync(context, (uint8_t*)[@"notificationSelected" UTF8String], (uint8_t*)[type UTF8String]);
}
Mam nadzieję, że komuś pomóż!
za szczęście Chon? – Sanniv
Przypuszczam, że powinieneś się temu przyjrzeć, kiedyś będę miał czas: http://www.tinytimgames.com/2011/09/01/unity-plugins-and-uiapplicationdidfinishlaunchingnotifcation/ – Michiel
Powinienem dodać, że musisz zrobić ANE (AIR Native Extension), aby to działało. http://www.adobe.com/devnet/air/native-extensions-for-air.html – Michiel