6
我想做類似Twitter應用的操作:當有人給我寫信時,我收到推送通知;如果我「滑動通知」應用程序啓動,但不是在普通的流,它開始在一個特定的視圖與推特,有人給我寫的!當用戶收到推送通知時打開特定選項卡/視圖
在我的應用程序中,我有類似RSS閱讀器的東西,並且推送通知在有新消息時到達。 因此,我想打開「單個新聞視圖」,而不是主視圖(現在正在發生)。
我該怎麼辦?
謝謝
我想做類似Twitter應用的操作:當有人給我寫信時,我收到推送通知;如果我「滑動通知」應用程序啓動,但不是在普通的流,它開始在一個特定的視圖與推特,有人給我寫的!當用戶收到推送通知時打開特定選項卡/視圖
在我的應用程序中,我有類似RSS閱讀器的東西,並且推送通知在有新消息時到達。 因此,我想打開「單個新聞視圖」,而不是主視圖(現在正在發生)。
我該怎麼辦?
謝謝
你可以做兩件事。
一是檢查launchOptions
字典UIApplicationDelegate
方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
,看是否應用程序是通過在通知用戶點擊推出。如果是這樣,那麼在該方法中,您可以將相應的視圖控制器推入堆棧,就像您通常使用應用內使用一樣。
如果應用程序已經打開,但在後臺,然後同樣的理論適用,而是使用UIApplicationDelegate
方法
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
見this link有關處理傳入的通知的信息。
這一切都很好,但它看起來像視圖層次尚未加載。處理這個問題的最好方法是什麼? – elsurudo
@elsurudo我有點晚,但你可以通過使用JLRoutes來處理它,它允許你從應用程序的任何位置路由到任何視圖。請參閱:https://github.com/joeldev/JLRoutes – inga
請注意,當應用處於前臺時強制導航通常是不好的做法。用戶看不到他在那個時候收到了通知,但是頁面在未經他的同意的情況下突然改變,其非常混亂,並且如果他在別的地方做了「重要的事情」,那麼它就會變得惱人。 也就是說,如果用戶點擊通知,就會調用相同的方法,因此您可以在導航之前檢查UIApplicationState –