我试图在应用程序未运行时获取远程通知信息,所以我被告知我可以从 :
UILocalNotification *localNotification = [launchOptions
objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]
在方法中:
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
,还是获取不到信息。
然后我使用 alertView 在 iPhone 上显示信息(在没有 Xcode 的情况下启动),仍然无法获取信息。
还有其他问题会导致这种情况吗?如果您有任何想法,请告诉我。
最佳答案
如何检索和处理远程通知:
应用正在运行
下面方法中的userInfo
已经包含了推送通知
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
}
应用未运行
在两种情况下,launchOptions 中 key 的值包括推送通知:
1.锁屏,当收到远程推送通知时,点亮屏幕,用户解锁屏幕后直接启动应用。
2.用户点击下拉菜单中的通知以启动应用程序。 如果用户直接点击该应用,则通知将消失并丢失。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[launchOptions valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey] description];
}
关于iphone - 如何在 iOS 应用程序中检索和处理远程推送通知内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17397064/