首页 > 其他分享 >控制 打开和关闭远程推送通知

控制 打开和关闭远程推送通知

时间:2023-08-23 12:33:04浏览次数:34  
标签:状态 no switch swith 关闭 yes 推送 远程

首先初始化一个switch,如下:

控制  打开和关闭远程推送通知_推送服务

我是在cell里面创建的,

然后实现switch的方法:

控制  打开和关闭远程推送通知_推送服务_02

这里的话,通过判断switch的状态,yes或是no来控制关闭的,因为app首次运行的话,是有一个注册通知的提示框,点击好以后,就可以接受到apns的推送服务了,如果用户点击不允许的话,是不能接收到推送的!切记!

注意这里面的状态判断:1,声明一个bool变量,根据key值取出来,进行关联,注意这样的话,有一个问题,就是switch默认的状态是no,所以如果就直接这样写的话,用户首次运行,apns的服务默认是关闭的,当然这是不合逻辑的,首次肯定是yes,默认打开,所以swich得状态也肯定得是打开的;

2,解决方法:在注册推送的时候一个方法,就是注销之后再重新注册的方法:当然了需要加一个判断

我写的是只有状态不是no就让他走这个方法,如图

控制  打开和关闭远程推送通知_初始化_03

注意:这三段代码中有2个地方有取反的状态,还有就是在实现switch点击方法的时候需要做的是,在swith取出来状态是yes的时候,让isOneSwitch的状态为no,反之也是,然后在初始化swith的时候,取反,这样的话,就可以实现默认swith是yes,对swith进行操作之后的状态就可以存储!

取消推送通知的方法有2个:

1)[XGPush unRegisterDevice];//注销设备   这个是信鸽官方提供的方法,完美解决问题!

2)[[UIApplication sharedApplication] unregisterForRemoteNotifications];//注销通知  用这个方法,可以达到效果,但是我自己测试的结果是会受到3条信息,一次性,如果有大神指导,请指教!



作者:稻草人11223


标签:状态,no,switch,swith,关闭,yes,推送,远程
From: https://blog.51cto.com/u_13188203/7201364

相关文章

  • Docker开启和关闭容器自启动
    启动容器增加–-restart=always参数设置自启动dockerrun--restart=always--nametest--net=host-dtest//test为镜像河容器名称已启动的容器设置自启动dockerupdate–-restart=always容器ID或者容器名称已启动的容器关闭自启动dockerupdate--restart=no容器ID或者容......
  • RDMA远程直接内存访问
    RDMA(RemoteDirectMemoryAccess)技术全称远程直接内存访问,就是为了解决网络传输中服务器端数据处理的延迟而产生的。它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。这允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。RDMA通过网......
  • win10关闭自动更新
    一、禁用WindowsUpdate服务 1、同时按下键盘Win+R,打开运行对话框,然后输入命令services.msc,点击下方的“确定”打开服务,如下图所示。2、找到WindowsUpdate这一项,并双击打开,如图所示。3、双击打开它,点击“停止”,把启动类型选为“禁用”,最后点击应用,如下图。4、接......
  • 远程桌面的命令行工具实现方式
    一.主要技术  1.rathole端口转发工具,服务端运行在公网,客户端运行在目标机上;  2.windows系统(目标机)安装sshd服务;安装方法参考网址:win10安装openssh失败,使用离线安装包  3.在windows系统上运行Cygwin(在windows系统上运行linux命令)......
  • 使用 Python ssh 远程登陆服务器的最佳方案
    在使用Python写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果。在shell环境中,我们是这样子做的。sshpass-p${passwd}ssh-p${port}-l${user}-oStrictHostKeyChecking=noxx.xx.xx.xx"ls-l"然后你会发现,你的输出有很多你并不......
  • 【译】未来预测:远程办公或将引领下一个十年的工作趋势!
    在21世纪的背景下,就业前景的不确定性日益加剧。鉴于科技进步的脚步迅速和社会经济环境的变动,预测未来十年的职业趋势无疑是一项充满挑战的任务。另一方面,依据现行模式和预期,我们也有能力构建出一些趋势和预测。以下,我将针对其中的部分趋势进行探讨,并对近期的就业情况做出预测。自......
  • 分布式光伏储能系统远程监控运维解决方案
    行业背景随着经济发展对于能源需求的不断提升,光伏发电作为一种重要的可再生清洁能源,受到国家和企业的重点关注。光伏发电是将太阳能转换为电能的过程,其输出功率“靠天吃饭”,容易受到太阳辐射强度、温度等环境因素影响,具有波动性、间歇性、不稳定性等特性。多地开始要求分布式新能源......
  • 远程代码执行漏洞
    远程代码执行:RemoteCodeExecute同样的道理,因为需求设计,后台有时候也会把用户的输入作为代码的一部分进行执行,也就造成了远程代码执行漏洞。不管是使用了代码执行的函数,还是使用了不安全的反序列化等等。因此,如果需要给前端用户提供操作类的API接口,一定需要对接口输入的内......
  • EAS_客户端关闭编辑页面,序时簿列表页面没刷新
    可以在关闭时调用如下代码publicvoidactionSave_actionPerformed(ActionEvente)throwsException{booleanflag=auditBill_save();if(flag){//已审核的单子修改保存后直接关闭窗口ObjectuiObject=this.getUIContext().get(UIContext......
  • 2023-08-22 git remote -v 为空 ==》为空意味着没有你该仓库没有远程仓库地址
    我想给新建的项目A创建一个版本库,so,我gitinit,然后我用gitremote-v查看,回车然后就为空了,百度了一下,说是没有你该仓库没有远程仓库地址;我还以为会链接到我其他的仓库去,看来不会,so,我在github创建了一个远程仓库,然后用gitremote-v链接到该仓库;即gitremote-v远程仓库地址;回车......