在iPhone锁定屏幕上显示CFUserNotificationDisplayAlert
我创建的应用程序必须显示CFUserNotificationDisplayAlert,即使iPhone屏幕锁定,目前我正在使用此代码
CFOptionFlags responseFlags = 0;
CFUserNotificationDisplayAlert(20.0, 3, NULL, NULL, NULL, CFSTR("Hello"), CFSTR("Hello World"), CFSTR("OK"), NULL, NULL, &responseFlags);
这在主屏幕上很好用,但如果屏幕锁定,它不会弹出。 还有什么我必须添加到它使它出现在锁屏上?
您需要使用kCFUserNotificationAlertTopMostKey
密钥。
extern CFStringRef kCFUserNotificationAlertTopMostKey;
CFStringRef keys[] = {
kCFUserNotificationAlertTopMostKey,
kCFUserNotificationAlertHeaderKey,
kCFUserNotificationAlertMessageKey
};
CFStringRef values[] = {
kCFBooleanTrue,
CFSTR("Title"),
CFSTR("Message")
};
CFDictionaryRef dict = CFDictionaryCreate(NULL, keys, values,
sizeof(keys)/sizeof(*keys),
&kCFTypeDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks);
SInt32 err = 0;
CFUserNotificationRef notif = CFUserNotificationCreate(NULL,
0, kCFUserNotificationPlainAlertLevel, &err, dict);
CFRelease(dict);
...
请参阅http://iphonedevwiki.net/index.php/CFUserNotification获取iPhone OS的所有对话描述键≤3.1。
(请注意,虽然它会显示在锁定屏幕上,但手机本身不会唤醒。)
iPhone OS上不支持CFUserNotification
。 推送通知是iPhone的等价物。
上一篇: Display CFUserNotificationDisplayAlert on iPhone Lock Screen