如何接收另一个应用的推送通知?

11

你们大多数人可能都知道 Pebble 手表,这个手表可以接收来自手机的推送通知。

它可以接收一些通知,包括:

  • 来电显示
  • 邮件(Gmail 或任何 IMAP 邮箱)
  • 安卓和 iPhone 上的短信
  • iMessage(仅限 iOS)
  • 日历提醒
  • Facebook 消息
  • Twitter
  • 天气提醒
  • 静音震动闹钟和计时器

我该如何实现相同的功能呢?也许他们使用了 Facebook api 等方式编写了一些通知。但是如何在短信和来电方面实现呢?

您能够捕捉到哪些通知呢?


有关同一问题的任何新更新吗? 难道没有一种直接的方法可以从其他应用程序获取通知并仍然存储它们吗? - Umar Farooque
3个回答

8

Pebble使用蓝牙与智能手机通信。请查找iPhone(iOS6)的答案和相关链接。

Incoming Caller ID                                 CoreTelephony Framewerk

点击此处可前往苹果官方文档,查阅Core Telephony Framework相关内容。

您需要使用PBAP才能在蓝牙设备上显示来电者ID,并且该设备必须是MFi认证的才能与iPhone应用程序通信。

Email (Gmail or any IMAP email account)            PushNotifications 
SMS and iMessage                                   PushNotifications with MAP

https://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html

Calendar Alerts                                    EVentKit Framework

http://developer.apple.com/library/ios/#documentation/EventKit/Reference/EventKitFrameworkRef/_index.html

Facebook Messages                                  Social Framework
Twitter                                            Social Framework

http://developer.apple.com/library/ios/#documentation/Social/Reference/Social_Framework/_index.html#//apple_ref/doc/uid/TP40012233

Weather Alerts                         Any weather API from yahoo or MSN

以下代码可用于震动iPhone:
导入AudioToolbox框架,引入AudioServices.h头文件
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

3
它使用蓝牙并通过它来访问所有数据。它没有任何花哨的功能。但是,所有这些数据都来自于操作系统,而不是设备上的应用程序。
回答你的问题 - 没有办法在你自己的应用程序中获取所有这些通知。您可以使用CoreTelephony访问与呼入电话相关的一些数据,并集成Facebook和Twitter API来获取该数据,但您真的必须自己完成所有工作。不幸的是,这里没有万能药!

啊,好的,谢谢。我以为我可以做一些很酷的东西,但是工作量比我想象的多得多。 - Jasper Fioole


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接