Cordova Push Plugin,检测是否开启推送
Cordova PushPlugin, detect if Pushs are enabled
我使用 Ionic 和 Cordova 创建了一个移动应用程序。
但是,我在使用 cordova PushPlugin 时遇到问题
当我在应用程序设置中手动停用我的 Iphone 4s (ios 8.4) 上的 Push 时,PushPlugin 注册功能什么都不做(没有成功,没有错误,什么也没有 ^^)
当我手动重新激活插件时,该插件运行良好
我阅读了很多关于 IOS8 问题的答案:
How to update code using enabledRemoteNotificationTypes because it is "not supported in iOS 8"?
我尝试了来自社区的 3/4 回购以及 Telerik 插件。但同样的问题,当未启用推送时没有任何反应。
我想要什么:
- 至少在未启用时错误回调中有一个错误
- 或更好,像 cordova 相机一样处理它:当我手动禁用照片时,会打开一个弹出窗口,提示要激活它
就像 Objective C 是一种我完全不知道的语言,任何帮助将不胜感激
谢谢
您可以在 applicationDidBecomeActive
(在您的 appDelegate.m
)上查看当前推送状态
- (void)applicationDidBecomeActive:(UIApplication *)application
{
if ([[UIApplication sharedApplication] respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) {
if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]){
NSLog(@"iOS 8, notifications enabled");
} else {
NSLog(@"iOS 8, notifications not enabled");
}
} else {
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (types & UIRemoteNotificationTypeAlert)
{
NSLog(@"Notifications Enabled");
}
else
{
NSLog(@"Notifications not enabled");
}
}
}
您也可以将该代码放入插件中并监听 applicationDidBecomeActive
通知
无论如何,你应该在你尝试过的插件上打开问题,他们应该在推送未启用的情况下调用失败回调
我使用 Ionic 和 Cordova 创建了一个移动应用程序。
但是,我在使用 cordova PushPlugin 时遇到问题
当我在应用程序设置中手动停用我的 Iphone 4s (ios 8.4) 上的 Push 时,PushPlugin 注册功能什么都不做(没有成功,没有错误,什么也没有 ^^) 当我手动重新激活插件时,该插件运行良好
我阅读了很多关于 IOS8 问题的答案: How to update code using enabledRemoteNotificationTypes because it is "not supported in iOS 8"?
我尝试了来自社区的 3/4 回购以及 Telerik 插件。但同样的问题,当未启用推送时没有任何反应。
我想要什么:
- 至少在未启用时错误回调中有一个错误
- 或更好,像 cordova 相机一样处理它:当我手动禁用照片时,会打开一个弹出窗口,提示要激活它
就像 Objective C 是一种我完全不知道的语言,任何帮助将不胜感激
谢谢
您可以在 applicationDidBecomeActive
(在您的 appDelegate.m
)上查看当前推送状态
- (void)applicationDidBecomeActive:(UIApplication *)application
{
if ([[UIApplication sharedApplication] respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) {
if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]){
NSLog(@"iOS 8, notifications enabled");
} else {
NSLog(@"iOS 8, notifications not enabled");
}
} else {
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (types & UIRemoteNotificationTypeAlert)
{
NSLog(@"Notifications Enabled");
}
else
{
NSLog(@"Notifications not enabled");
}
}
}
您也可以将该代码放入插件中并监听 applicationDidBecomeActive
通知
无论如何,你应该在你尝试过的插件上打开问题,他们应该在推送未启用的情况下调用失败回调