簡體   English   中英

應用程序位於前台時推送通知樣式

[英]Push notification style when app is in foreground

當我測試我的iOS應用程序時,我將通知樣式首選項設置為橫幅樣式。 這適用於我的應用程序不在前台(在后台或關閉)。 但是,當應用程序位於前台時,通知顯示為UIAlertView

這是Apple的設計嗎? 或許我錯過了一些我可以申請的設置?

您可以在AppDelegate.m使用application:didReceiveRemoteNotification:fetchCompletionHandler: . 這樣您就可以按照自己的方式處理通知。 有時它不需要在UIAlertView顯示任何內容,但您想要更新特定的UILabels或者什么。 您還可以獲得userInfo ,從中可以獲得有關Push更多具體信息。 您還可以確定您目前處於哪種模式:

if ( application.applicationState == UIApplicationStateInactive 
     || application.applicationState == UIApplicationStateBackground  ) {

} else {

}

文件說:

使用此方法處理應用程序的傳入遠程通知。 與應用程序:didReceiveRemoteNotification:方法不同,只有當您的應用程序在前台運行時才會調用該方法,系統會在您的應用程序在前台或后台運行時調用此方法。 此外,如果您啟用了遠程通知后台模式,系統將啟動您的應用程序(或將其從暫停狀態喚醒),並在推送通知到達時將其置於后台狀態。 但是,如果用戶強行退出,系統不會自動啟動您的應用。 在這種情況下,用戶必須重新啟動應用程序或重新啟動設備,然后系統才會再次嘗試自動啟動應用程序。

當應用程序位於前台時,通知顯示為UIAlertView。

它不應該,除非你寫了在ApDelegate的didReceiveRemoteNotification didReceiveRemoteNotification:方法中didReceiveRemoteNotification: 當您收到推送通知時,將調用該方法。

如果你想顯示一些吐司通知(雖然app在前景中)比你可以檢查這個。 在前台iOS中的App時獲取推送通知

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM