在phonegap中的背景通知

时间:2012-07-26 00:53:26

标签: cordova phonegap-plugins localnotification

我正在使用Phonegap for ios构建一个简单的闹钟,我已经在后台和前台触发了通知。 (全部借助Drew Dahlman和本教程http://www.drewdahlman.com/meusLabs/?p=84)。

phonegap插件提供了在触发localNotification时运行后台和前台功能的功能。

我的问题是,如果应用程序在后台,我似乎只获得默认的“关闭/查看”对话框,而不是我正在设置的通知对话框。 我希望有背景通知让用户能够“起床”或“打盹”,但当然,使用默认的“关闭/查看”通知是不可能的。

我弄错了吗?还有另一种方法吗?

我设置本地通知的代码很简单

plugins.localNotification.add({ date: set_alarm, 
                               message:"background",  
                               badge: 1, 
                               id: 12, 
                               sound:'Alarm_01.caf',
                               background:'MyApp.Alarm.notification_background',
                               foreground: 'MyApp.Alarm.notification_foreground'
                             });

前景通知工作正常,这只是我正在努力的背景通知。

1 个答案:

答案 0 :(得分:0)

在app delegate.m文件中,您需要在应用进入后台时激活闹钟或本地通知:

- (void)applicationDidEnterBackground:(UIApplication *)application

- (void)applicationWillResignActive:(UIApplication *)application

(取决于您的需求)可在此处找到更多文档:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

我怀疑您是否仅在–application:didFinishLaunchingWithOptions:-application:didReceiveLocalNotification:

之后配置应用以启动闹钟

这是默认值。

还有很多其他选择:

监控应用程序状态更改

  • 应用:willFinishLaunchingWithOptions:
  • 应用中:didFinishLaunchingWithOptions:
  • applicationDidBecomeActive:
  • applicationWillResignActive:
  • applicationDidEnterBackground:
  • applicationWillEnterForeground:
  • applicationWillTerminate:
  • 的applicationDidFinishLaunching:

管理应用状态恢复

  • 应用:shouldSaveApplicationState:
  • 应用:shouldRestoreApplicationState:
  • 应用:viewControllerWithRestorationIdentifierPath:编码器:
  • 应用:willEncodeRestorableStateWithCoder:
  • 应用:didDecodeRestorableStateWithCoder:

为故事板提供一个窗口   窗口属性 管理默认接口方向

  • 应用:supportedInterfaceOrientationsForWindow:

打开网址资源

  • 应用:的OpenURL:sourceApplication:注释:
  • 应用:handleOpenURL:

管理状态栏更改

  • 应用:willChangeStatusBarOrientation:持续时间:
  • 应用:didChangeStatusBarOrientation:
  • 应用:willChangeStatusBarFrame:
  • 应用:didChangeStatusBarFrame:

响应系统通知

  • applicationDidReceiveMemoryWarning:
  • applicationSignificantTimeChange:

处理远程通知

  • 应用:didReceiveRemoteNotification:
  • 应用:didRegisterForRemoteNotificationsWithDeviceToken:
  • 应用:didFailToRegisterForRemoteNotificationsWithError:

响应内容保护更改

  • applicationProtectedDataWillBecomeUnavailable:
  • applicationProtectedDataDidBecomeAvailable: