[英]detect app opened from push notification (background fetch)
我使用UIBackgroundFetchResult來捕獲推送通知,如下代碼...我使用內容可用性= 1也在后台模式下進行檢測
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^) (UIBackgroundFetchResult))completionHandler {
當應用程序處於活動狀態或后台模式時,推送即將到來並在此處執行,但是當我打開推送時始終無法執行,因為無法進入狀態,我無法檢測到應用是否從推送中打開
if ( (application.applicationState == UIApplicationStateInactive || application.applicationState == UIApplicationStateBackground) && (NotiType == 1 || NotiType == 2))
{
}
您可以通過應用程序委托方法檢查是否從APNS(Apple Push通知服務)啟動了應用程序
application:didFinishLaunchingWithOptions:
您可以在其中檢查是否通過通知啟動了應用程序,
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if (launchOptions != nil) {
// Launched from push notification
NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
}
}
如果您的應用程序在后台運行,則不會調用此方法。 為此,您可以通過這種方式檢查另一種方法,
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
if ( application.applicationState == UIApplicationStateInactive || application.applicationState == UIApplicationStateBackground )
{
//opened from a push notification when the app was on background
}
}
HTH,享受編碼!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.