recherche

Maison  >  Questions et réponses  >  le corps du texte

ios - 程序在后台运行时收到通知didReceiveRemoteNotification不执行

我的app在后台运行时,收到远程推送,通知栏已经有提醒了,这时候如果我点击app 的icon 运行程序,didReceiveRemoteNotification方法并不执行。请问这个怎么解决?
如果我是点击通知栏上的推送,didReceiveRemoteNotification是执行的。

ringa_leeringa_lee2886 Il y a quelques jours734

répondre à tous(3)je répondrai

  • 高洛峰

    高洛峰2017-04-17 17:41:56

    Essayez cette configuration de projet
    Capacités BackgroundModes -> ON, sélectionnez RemoteNotification

    répondre
    0
  • 黄舟

    黄舟2017-04-17 17:41:56

    Il s'agit d'une situation normale. Cette fonction se déclenche initialement après avoir cliqué sur la notification

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:41:56

    Si votre application est démarrée, cliquez sur l'icône de l'application pour démarrer, elle sera dans

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions NS_AVAILABLE_IOS(3_0);
    
    La valeur clé dans

    est la suivante

        NSDictionary *pushInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

    Vous pouvez obtenir le contenu de la notification.
    Si l'application est en arrière-plan, cliquer sur l'icône de l'application n'appellera pas d'autres méthodes proxy pour les notifications, sauf si vous cliquez sur la bannière. Il n'y a rien de déraisonnable à cela également. gérez-le de cette façon. ,
    L'application sera au premier plan et prendra la méthode que vous avez mentionnée après avoir reçu le push. De plus, si vous la mettez en œuvre

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;
    

    Ensuite, il sera appelé dans cette méthode, et la méthode que vous avez mentionnée sera invalidée.

    répondre
    0
  • Annulerrépondre