在iPhone锁屏上显示CFUserNotificationDisplayAlert
我正在创建一个应用程序,即使iPhone屏幕被锁定,也必须显示CFUserNotificationDisplayAlert,目前我正在使用此代码在iPhone锁屏上显示CFUserNotificationDisplayAlert,iphone,xcode,jailbreak,Iphone,Xcode,Jailbreak,我正在创建一个应用程序,即使iPhone屏幕被锁定,也必须显示CFUserNotificationDisplayAlert,目前我正在使用此代码 CFOptionFlags responseFlags = 0; CFUserNotificationDisplayAlert(20.0, 3, NULL, NULL, NULL, CFSTR("Hello"), CFSTR("Hello World"), CFSTR("OK"), NULL, NULL, &responseFlags); 这
CFOptionFlags responseFlags = 0;
CFUserNotificationDisplayAlert(20.0, 3, NULL, NULL, NULL, CFSTR("Hello"), CFSTR("Hello World"), CFSTR("OK"), NULL, NULL, &responseFlags);
这在主屏幕上非常有效,但如果屏幕被锁定,则不会弹出。还有什么我必须添加到它以使它也显示在锁屏上的吗?
CFUserNotification
在iPhone操作系统上不受支持。与iPhone相同。您需要使用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);
...
有关iPhone操作系统的所有对话框描述码,请参阅≤ 3.1
(请注意,虽然它会显示在锁定屏幕上,但手机不会自动唤醒。)它是受支持的,我在问题中描述了这一点,但问题是它不会出现在锁定屏幕上,但当iphone未锁定时它会出现在屏幕上。仅仅因为它工作,并不意味着它受支持。我们这些越狱的开发者使用了大量苹果不支持的API(对于某些工作定义而言)
CFUserNotification
s将不会显示在锁定屏幕上;推送通知will.MobileSubstrate有一个在运行时创建新类的示例:它甚至使用SBAlertItem:)objc\u allocateClassPair
创建一个新类,然后使用class\u addMethod
添加方法,然后使用objc\u registerClassPair
,最后,您可以向类发送alloc
,以创建一个新实例。在这之后,它就是特定于越狱的代码了。另外,在irc.saurik.com上的#iphone是获得越狱特定开发帮助的最佳地点