1、背景
因业务需求,使用RN开发的APP需要支持本地通知,于是研究了一下;本身想找个造好的轮子(react-native-push-notification),但是她对IOS不处理,让IOS使用PushNotificationIOS。
2、主要代码
//取消指定的本地通知 static noti_cancelLocalNotifications(userInfo){ if(YrcnApp.Platform.isIOS){ PushNotificationIOS.cancelLocalNotifications(userInfo); }else{ } } //取消所有本地通知 static noti_cancelAllLocalNotifications(){ if(YrcnApp.Platform.isIOS){ PushNotificationIOS.cancelAllLocalNotifications(); }else{ } } //检查本地通知的权限并请求授权 static noti_checkPermissions(succCallback){ if(YrcnApp.Platform.isIOS){ PushNotificationIOS.checkPermissions(function(checkPermissionsObj){ if(checkPermissionsObj.alert == "0"){ PushNotificationIOS.requestPermissions({alert:"1",badge:"1",sound:"1"}); } succCallback(); }); }else{ } } //设置本地通知 static noti_scheduleLocalNotification(obj){ if(YrcnApp.Platform.isIOS){ PushNotificationIOS.scheduleLocalNotification(obj); }else{ } } //获取本地所有通知数组 static noti_getScheduledLocalNotifications(succCallback){ if(YrcnApp.Platform.isIOS){ PushNotificationIOS.getScheduledLocalNotifications(function(getScheduledLocalNotificationsObj){ succCallback(getScheduledLocalNotificationsObj); }); }else{ } }
3、遇到的问题
如何取消指定的通知?
使用PushNotificationIOS.cancelLocalNotifications(userInfo);方法,但是需要本地通知对象的userInfo属性。
4、生产上的使用
感兴趣的朋友可以扫码下载看看。