3

iPhoneの画面がロックされている場合でもCFUserNotificationDisplayAlertを表示する必要があるアプリを作成しています。現在、このコードを使用しています。

CFOptionFlags responseFlags = 0;
CFUserNotificationDisplayAlert(20.0, 3, NULL, NULL, NULL, CFSTR("Hello"), CFSTR("Hello World"), CFSTR("OK"), NULL, NULL, &responseFlags);

これはホーム画面ではうまく機能しますが、画面がロックされている場合はポップアップしません。ロック画面にも表示されるようにするために追加する必要があるものは他にありますか?

4

2 に答える 2

4

キーを使用する必要があり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 OS ≤ 3.1 のすべてのダイアログ説明キーについては、http://iphonedevwiki.net/index.php/CFUserNotificationを参照してください。

(ロック画面に表示されますが、電話は自動的に起動しないことに注意してください。)

于 2010-03-14T07:26:34.387 に答える