我正在使用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: