我有一个Iphone应用程序,我从服务器接收推送通知。现在我要去一个视图控制器来显示消息。在同一消息加载在tableview .so那不是一个问题。现在我是接收两种消息,一种是链接,另一种是早期的消息。如果它是我想要在saffari中打开它的链接,不需要像往常一样去tableview。可以有人帮助我实现这一目标吗?如何从推送通知中获取文本字符串?
0
A
回答
1
当你点击推送通知,那么你得到的功能字典 - didReceiveRemoteNotification:
试试这个代码: -
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSLog(@"remote notification: %@",[userInfo description]);
if (userInfo)
{
if ([[userInfo allKeys] containsObject:@"aps"])
{
if([[[userInfo objectForKey:@"aps"] allKeys] containsObject:@"alert"])
{
if([[[userInfo objectForKey:@"aps"] allKeys] containsObject:@"alert"])
{
NSString *urlString = [[userInfo objectForKey:@"aps"] objectForKey:@"alert"];
NSURL *url = [NSURL URLWithString:urlString];
if(url)
{
[[UIApplication sharedApplication]openURL:url]; // open in the safari...
}
else
{
// use the message in table view
}
}
}
}
}
}
0
推送通知绑定到您的应用程序,所以简而言之,它不可能直接从您的应用程序打开safari推送通知。然而,一个解决办法可能会去是这样的:
- 用户响应的通知(即挥笔打开它锁屏上)
您的应用程序打开,从通知的数据传递到您的应用程序
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法。然后,您可以询问作为这样NSDictionary *dictionary = [launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"]; // If dictionary is not nil, then your app is launched due to a push notification if (dictionary != nil) { NSDictionary *payload = [tmpDic objectForKey:@"aps"]; }
一旦你得到了你的有效载荷传递的数据,看看内容,如果它是一个URL,调用Safari浏览器URL方案,通过在URL中。像这样
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: <URL from payload>]];
这将帮助你实现你想要做什么,但它可能意味着用户首先简要地看到您的应用程序之前,操作系统将其切换到Safari浏览器。
一个侧面说明,你为什么要这样做?你的用户不应该从通知中发布一个随机的URL,我不认为苹果会这么喜欢。也许他们应该首先在你的应用中看到关于URL的一些信息,然后选择他们是否想在Safari中打开它?
相关问题
- 1. 无法获取推送通知文本
- 2. Iphone从推送通知中获取url
- 3. 如何取消从通知中心,这是推送通知
- 4. 如何从推送通知中获取数据?
- 5. 如何从Twitter 2.1中的Twitter RSS Feeds获取推送通知?
- 6. 有没有办法,从通知中心获取挖掘推送通知? (从服务器推送通知)
- 7. 从推送通知中提取“alert”文本
- 8. 如何通过ios推送通知服务从Youtube获取通知
- 9. 从文本中获取子字符串
- 10. 从推送通知中推送视图
- 11. 如何从谷歌获取API推送通知
- 12. 如何从parse.com获取推送通知历史记录? (iOS)
- 13. 从推送通知
- 14. 如何在java中使用苹果推送通知服务推送中文字符串?
- 15. 发送推送通知文本的UITableView
- 16. 如何获得推送通知(城市飞艇)的文本
- 17. 如何使用推送通知从Gmail帐户获取新邮件通知
- 18. 如何获取文本和字符串?
- 19. 如何从推送通知中推送VC?
- 20. 如何将文本从应用程序推送到通知栏?
- 21. 如何从窗体中的文本框中获取字符串
- 22. 如何从Lua中的字符串中获取特定文本?
- 23. 如何从java中的文本框中获取字符串
- 24. 推送通知(如何获取和动态发送IDS)
- 25. 如何通过PHP从字符串获取子字符串?
- 26. APNS推送通知,loc-args中的字符串键
- 27. 在推送通知中获取数据库通知ID
- 28. 获取推送通知点击事件
- 29. Phonegap推送通知获取设备ID
- 30. 无法获取gcm推送通知