2016-07-24 3 views

ответ

0

Просто реализовать в вашем AppDelegate метод

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo; 
0

Если приложение не работает метод didFinishLaunchingWithOptions вызывается при запуске приложения, и вы можете проверить launchOptions параметры следующим образом:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    if (launchOptions != nil) { 
     NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
     if (notification) { 
      // Launched from push notification 
     } 

    } 
} 

Если приложение уже запущено, вы можете использовать этот метод:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    if (application.applicationState == UIApplicationStateInactive || application.applicationState == UIApplicationStateBackground ) 
    { 
     //opened from a push notification when the app was on background 
    } 
} 

Вы также можете проверить: Detect if the app was launched/opened from a push notification

+0

Что делать, если приложение уже запущено? Мне нужно обрабатывать оба условия. –

+0

если приложение приходит из фона на передний план, в то же время, если приложение получает push-уведомление, в это время я бы получил состояние как InActive. (Как это решить? –

 Смежные вопросы

  • Нет связанных вопросов^_^