Java 代码名1本地通知在ios上不起作用
我已经添加了一个本地通知,所以当我的应用程序在打开时得到推送时,仍然会出现弹出窗口和声音。 它在Android上运行良好,但在iOS上根本不会出现本地通知 推送通知在两种平台上都可以正常工作 这是我在推送回调中的代码,应该触发通知(如果应用程序已打开):Java 代码名1本地通知在ios上不起作用,java,ios,notifications,codenameone,Java,Ios,Notifications,Codenameone,我已经添加了一个本地通知,所以当我的应用程序在打开时得到推送时,仍然会出现弹出窗口和声音。 它在Android上运行良好,但在iOS上根本不会出现本地通知 推送通知在两种平台上都可以正常工作 这是我在推送回调中的代码,应该触发通知(如果应用程序已打开): 您是否调用了registerUserNotificationSettings来注册您的应用程序使用本地通知的事实?如果不这样做,您发布本地通知的请求将被忽略 请参见该方法说明中的以下文字: 如果您的应用程序显示警报、播放声音或标记其图标,您必须
您是否调用了
registerUserNotificationSettings
来注册您的应用程序使用本地通知的事实?如果不这样做,您发布本地通知的请求将被忽略
请参见该方法说明中的以下文字:
如果您的应用程序显示警报、播放声音或标记其图标,您必须
在启动周期内调用此方法以请求对
以这些方式提醒用户。(如果您需要,您也必须提出此请求。)
要直接设置applicationBadgeNumber属性。)
通常,如果您的应用程序使用本地或远程,您会发出此请求
通知,提醒用户有关应用程序的新信息。
应用程序首次启动并调用此方法时,系统
询问用户是否应允许您的应用程序交付
通知并存储响应。此后,系统使用
存储响应,以确定您可能需要的通知的实际类型
使用
调用此方法后,应用程序将调用
应用程序:didRegisterUserNotificationSettings:其应用程序的方法
委托他人报告结果。您可以使用该方法来确定
如果用户批准或拒绝了您的请求
建议在计划任何操作之前调用此方法
本地通知或向推送通知服务注册。
使用新的用户设置对象调用此方法将替换
以前的设置请求。支持自定义操作的应用程序必须
在notificationSettings中包括所有受支持的操作
反对
您需要在AppDelegate.m文件的didFinishLaunchingWithOptions方法中添加以下代码以注册本地通知
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)])
{
[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
[[UIApplication sharedApplication] registerForRemoteNotifications];
}
else
{
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)];
}
}
将此代码放在视图控制器中
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveNotification:) name:@"DriverNotification" object:nil
];
当应用程序在前台打开时,不会触发本地通知。在应用程序运行时,您应该使用不同的机制发出声音。例如Display.vibrate()使用Codename One,您通常无法直接访问本机平台代码(这是一个跨平台的框架)。抱歉,我错过了您问题的这一部分。我不知道如何从Codename One正确设置本地通知。我建议谷歌搜索“Codename One registerUserNotificationSettings”,看看是否有解决方案。好的,我会用它和祝酒词来显示消息,谢谢!
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"DriverNotification" object:nil userInfo:userInfo];
// [[NSNotificationCenter defaultCenter] postNotificationName:@"UserNotification" object:nil userInfo:userInfo];
NSLog(@"%@",userInfo);
}
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveNotification:) name:@"DriverNotification" object:nil
];