ios - 程序在后台运行时收到通知didReceiveRemoteNotification不执行
ringa_lee
ringa_lee 2017-04-17 17:39:56
0
3
744

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

ringa_lee
ringa_lee

ringa_lee

répondre à tous(3)
小葫芦

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

黄舟

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

伊谢尔伦

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal