CLP
CLP
  • 发布:2019-03-22 20:10
  • 更新:2021-11-23 18:17
  • 阅读:12361

判断iOS系统推送功能是否开启,并可提醒去设置页打开设置推送

分类:5+ SDK

如果需要判断ios系统推送功能是否开启,并提醒去设置页打开设置推送,可以用以下nativeJS 代码:

function isOpenPush() {  
                var UIApplication = plus.ios.import("UIApplication");  
                var app = UIApplication.sharedApplication();  
                var enabledTypes = 0;  
                if (app.currentUserNotificationSettings) {  
                    var settings = app.currentUserNotificationSettings();  
                    enabledTypes = settings.plusGetAttribute("types");  
                    console.log("enabledTypes1:" + enabledTypes);  
                    if (enabledTypes == 0) {  
                        plus.nativeUI.confirm("推送设置没有开启,是否去开启?", function(e) {  
                            if (e.index == 0) {  
                                var NSURL2 = plus.ios.import("NSURL");  
                                var setting2 = NSURL2.URLWithString("app-settings:");  
                                var application2 = UIApplication.sharedApplication();  
                                application2.openURL(setting2);  
                                plus.ios.deleteObject(setting2);  
                                plus.ios.deleteObject(NSURL2);  
                                plus.ios.deleteObject(application2);  
                            }  
                        }, {  
                            "buttons": ["Yes", "No"],  
                            "verticalAlign": "center"  
                        });  
                    }  
                    plus.ios.deleteObject(settings);  
                } else {  
                    enabledTypes = app.enabledRemoteNotificationTypes();  
                    if(enabledTypes == 0){  
                        console.log("推送未开启!");  
                    }else{  
                        console.log("已经开启推送功能!")  
                    }  
                    console.log("enabledTypes2:" + enabledTypes);  
                }  
                plus.ios.deleteObject(app);  
            }

此功能在uniapp项目且配置为自定义模式的时候,会报:“plus.ios.import is not a function”错误。
该问题已经在HBuilderX1.9.4.20190426 之后版本已经解决

1 关注 分享
今天回复我了吗

要回复文章请先登录注册

CLP

CLP (作者)

回复 zyk2019 :
请提供能复现的demo和相关的运行环境是怎样的
2019-04-16 12:13
zyk2019

zyk2019

11:48:27.968 [ERROR] : [Vue warn]: Error in onLaunch hook: "TypeError: plus.ios.import is not a function. (In 'plus.ios.import("UIApplication")', 'plus.ios.import' is undefined)"
11:48:27.968 (found in <Root>)
11:48:27.992 [ERROR] : TypeError: plus.ios.import is not a function. (In 'plus.ios.import("UIApplication")', 'plus.ios.import' is undefined)
2019-04-16 11:49
9***@qq.com

9***@qq.com

安卓的怎么判断
2019-03-29 23:34