2013-11-24 2 views
1

Я не могу найти способ обнаружить, когда приходит уведомление. Например, если мое приложение открыто, и пользователь получает уведомление с помощью Facebook, есть ли какое-либо уведомление UIApplication или что-то еще, что скажет мне, что приложение больше не находится на переднем плане, а предупреждение Facebook находится сверху? Предпочтительно что-то, что увольняется, если уведомление является баннером или оповещениемКак обнаружить push-уведомление, отправленное в другие приложения?

ответ

4

Вы не можете обнаружить push-уведомление, отправленное в другое приложение.

Если вы хотите определить, нет ли вашего приложения на переднем плане, вы можете использовать метод applicationWillResignActive:UIApplicationDelegate или зарегистрироваться для уведомления UIApplicationWillResignActiveNotification.

Однако, когда баннер уведомлений отображается сверху, ваше приложение все еще находится на переднем плане. Когда уведомление будет предложено вместо предупреждения (пользователь может установить это в настройках), приложение теряет фокус, и оно больше не будет на переднем плане.

0

Баннер уведомлений в верхней части - это окно, отображаемое SpringBoard (другим процессом), которое не становится ключевым до тех пор, пока пользователь не коснется его. Если пользователь спустит уведомление вниз и откроется центр уведомлений, ваше приложение перестанет работать, и делегат вашего приложения услышит об этом. Если пользователь вступает в уведомление, ваше приложение переходит на задний план, а другое открыто. Если пользователь решил видеть предупреждения вместо баннеров, как только появится предупреждение, ваше приложение будет отменено. Вы можете прослушивать уведомления UIApplicationWillResignActiveNotification, чтобы узнать, когда приложение уходит в отставку.

Смежные вопросы