检查用户是不是在代号中接受了 iOS 中的推送通知权限

Posted

技术标签:

【中文标题】检查用户是不是在代号中接受了 iOS 中的推送通知权限【英文标题】:Check if user accepted a push notification permission in iOS in codenameone检查用户是否在代号中接受了 iOS 中的推送通知权限 【发布时间】:2017-07-06 16:52:23 【问题描述】:

如何检查用户在代号one或native的ios中是否拒绝或接受了推送通知权限消息?

【问题讨论】:

请不要全大写我们。 如果我没有问你,我会失职但是:你有没有试过先在谷歌上写同样的问题? 是的,我找到了很多,但在 codenameone 中似乎没有任何关系 【参考方案1】:

android 和 iOS 都有 API 来检测是否启用了推送: Push Notification ON or OFF Checking in iOS

Android 4.1: How to check notifications are disabled for the application?

由于这些是最近才添加的,而且我们没有得到足够的需求,因此我们目前不支持它们。您可能可以使用本机接口调用它们或提交带有集成的拉取请求。通常你会在推送工作时收到一个推送注册的回调,如果没有,你会得到一个错误或什么都没有。

【讨论】:

【参考方案2】:

我找到了一个实现 IOS 10 原生功能的解决方案

这些方法在 Objective-c 和 codenameone 代码中完美运行

//------------------------------------------------------------------------------
//This method is use to check if the user enable or disable push notification
//------------------------------------------------------------------------------
-(BOOL)isPushNotificationIsEnable

    if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]) 
        NSLog(@"isPushNotificationIsEnable()->YES");
        return YES;
     else 
        NSLog(@"isPushNotificationIsEnable()->NO");
        return NO;
    

//------------------------------------------------------------------------------
//This method is use to launch the Notification screen of your app
//------------------------------------------------------------------------------
Display.getInstance().execute("App-Prefs:root=NOTIFICATIONS_ID&path=your package name app", new ActionListener() 
     String methodName = "startLocationSetting";
      @Override
      public void actionPerformed(ActionEvent evt) 

            boolean status = Utils.isPushNotificationEnable();

      

);
//------------------------------------------------------------------------------

【讨论】:

以上是关于检查用户是不是在代号中接受了 iOS 中的推送通知权限的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ios Objective c 中检查推送通知是不是在后台模式下接收?

检查推送是不是要求通知权限

检查用户是不是使用 phonegap 1.7 在 iPhone 上启用了推送通知

检查用户是不是打开了推送通知

在代号应用程序中添加 android 推送通知图标

推送通知iOS - 提示应用程序检查资源并在适当时提供本地通知