![](/img/trans.png)
[英]How do I tell if my iPhone app is running when a Push Notification is received?
[英]how can I handle push notification when my app is not running
如何在我的应用程序未运行时处理推送通知我正在开发ios3。请帮助
一个简短的例子:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSDictionary *tmpDic = [launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];
//if tmpDic is not nil, then your app is launched due to an APNs push, therefore check this NSDictionary for further information
if (tmpDic != nil) {
NSLog(@" - launch options dict has something ");
NSLog(@" - badge number is %@ ", [[tmpDic objectForKey:@"aps"] objectForKey:@"badge"]);
NSLog(@" - ");
}
编辑:关于您收到的NSDictionary,来自Apple的官方文档:
您可以访问aps词典的内容 - 尽管在大多数情况下您不需要使用以下键:
- alert-该值可以是警报消息的字符串,也可以是包含两个键的字典:body和show-view。 前者的值是警报消息,后者是布尔值(false或true)。 如果为false,则不显示警报的“查看”按钮。 默认设置是显示“查看”按钮,如果用户点击该按钮,则启动该应用程序。
- badge - 一个数字,指示从提供程序下载的数据项的数量。 此编号将显示在应用程序图标上。 缺少徽章属性表示应删除当前标记图标的任何数字。
- sound-应用程序包中声音文件的名称,用作警报声音。 如果指定“default”,则应播放默认声音。
字典还可以具有由提供者根据JSON模式定义的自定义数据。 应该在与aps字典相同的级别指定自定义数据的属性。 但是,自定义属性不应用于海量数据传输,因为每个通知(256字节)存在严格的大小限制,并且无法保证传递。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.