2011-11-12 12 views
6

Chcę uszanować intencje moich użytkowników i nie zadzwonić pod numer [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(...)], jeśli wyłączyli zdalne powiadomienia dla mojej aplikacji.iOS5: jak ustalić, czy Centrum powiadomień dla aplikacji jest włączone/wyłączone

Podczas dzwonienia pod numer UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes] otrzymuję informacje o tym, jakie typy powiadomień są włączone dla mojej aplikacji. Jednak Centrum powiadomień dla tej aplikacji można wyłączyć i nadal otrzymuję wcześniej włączony typ powiadomienia od tej metody, aż do wybrania "Brak".

Tak więc moja aplikacja uważa, że ​​powiadomienia są włączone, nawet jeśli nie są.

Czy istnieje sposób programowego sprawdzenia statusu Centrum powiadomień dla mojej aplikacji? (ON/OFF).

+0

Jeśli powiadomienia są wyłączone i rejestrujesz się, czy otrzymasz '-application: didRegisterForRemoteNotificationsWithDeviceToken:' lub '-application: didFailToRegisterForRemoteNotificationsWithError:'? Nie zdziwiłbym się, gdyby ten drugi został przywołany. –

+1

Dla mnie tylko pierwsza metoda jest wykonywana, gdy ustawienie centrum powiadomień jest włączone lub wyłączone. Ale pytanie brzmi, jak powiedzieć, co jest ustawione z tej metody. –

+0

Wywołanie '[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (...)]' nic nie zrobi, aby użytkownik mógł zobaczyć, czy powiadomienia dla twojej aplikacji są wyłączone w Ustawieniach, dlaczego nie chcesz wywoływać go za każdym razem? –

Odpowiedz

9

Nie należy mylić "w centrum powiadomień" z "włączonymi powiadomieniami push". Mogę usunąć aplikację z centrum powiadomień, ale nadal otrzymuję powiadomienia push w postaci numerów identyfikacyjnych, więc stara metoda powinna działać poprawnie.

+0

To jest pomocne, ale czy istnieje sposób na sprawdzenie, czy aplikacja jest pragmatycznie w centrum powiadomień? –

+0

Nie sądzę, aby można było stwierdzić, jakie są ustawienia powiadomień użytkownika dla aplikacji wykraczające poza sposoby delegowania aplikacji, aby zarejestrować się i nie zarejestrować się w przypadku zdalnych powiadomień. –

Powiązane problemy