解决方案

时间:2022-04-29 17:39:47 解决方案 我要投稿

【热门】解决方案四篇

  为了确保我们的努力取得实效,时常需要预先开展方案准备工作,方案是计划中内容最为复杂的一种。那么方案应该怎么制定才合适呢?下面是小编为大家收集的解决方案4篇,欢迎阅读,希望大家能够喜欢。

【热门】解决方案四篇

解决方案 篇1

  摘要:作为建筑工程当中的重点组成部分, 电气安装不仅对建筑的经济性以及实用性具有影响, 且将直接关系到整个建筑的质量安全。就目前来说, 建筑在电气安装工作当中还存在着一定的问题, 需要能够及时做好问题的掌握与解决。在本文中, 将就建筑电气安装工程中的问题与改善措施进行一定的研究。

  关键词:建筑电气安装工程; 问题; 改善措施;

  引言

  建筑电气安装工程由多道工序组成, 工程内容繁多, 系统性较强。当今社会, 科学技术的进步使电气安装技术水平不断提高, 电气设备快速更新换代, 这就要求相关的技术知识和操作规范必须同步更新, 否则必然会影响电气安装工程质量。鉴于此, 本文首先简要分析当前建筑电气安装工程现状及存在的问题, 继而从人员、设备、质量管理等维度集中探讨提高建筑电气安装工程质量的方法和策略, 旨在找到一套行之有效的工程管理方法, 进一步强化对建筑电气安装工程的质量控制。

  1 建筑电气安装工程现状

  在现今我国经济水平不断提升的情况下, 我国建筑行业施工技术在此过程当中也获得了不断的发展, 人们不仅对建筑的使用功能以及整体质量具有较高的重视程度, 对于建筑当中电气设备的使用功能与质量也具有了更高的要求。尤其是对于部分高档建筑来说, 其在电气设备安装以及装修方面则具有了更高的要求, 需要通过一个完善、健全质量体系的建设, 从工程的各个阶段对其进行全面的控制处理。在电气安装施工中, 经常会涉及到新工艺、新技术以及新材料等应用。同时, 大型工程在装配、检测以及吊装技术方面具有了更高的要求。建筑电气施工因材料以及施工内容方面多样性的存在, 在具体施工当中需要投入大量的人力与物力, 且需要施工单位具有丰富的施工经验。在整个建筑工程当中, 电气安装工程将贯穿在整个的过程当中, 对建筑工期具有着重要的影响, 且其质量情况也将直接影响到建筑的使用功能, 需要施工中做好把关与控制。

  2 当前建筑电气安装存在问题

  在现今建筑电气安装工作开展当中, 常见的问题有:

  2.1 设备材料

  主要施工材料存在的问题有:第一, 导线在熔点、截面、温度系数、尺寸以及机械性能方面不能够满足要求;第二, 电缆在绝缘电阻、耐温性、内部接头数量、绝缘层同线芯严密性以及耐压性方面无法满足要求;第三, 照明、动力以及插座箱在几何尺寸以及外观方面无法满足要求, 塑料、钢板壳的厚度不够, 对整个箱体的强度产生影响, 且在耐腐蚀性方面经常存在无法满足要求的情况;第四, 插座以及开关在导电值方面存在同标称值不符的情况, 导电金属片接触不好、弹性不足, 并因容易发热而无法满足安全方面要求。

  2.2 线路敷设

  在电力安装工程建设当中, 在具体敷设线路时经常会出现原材料质量无法满足要求的情况, 包括有钢管、导线以及各类接线盒等。在线路具体敷设当中, 在导线质量方面存在一定的不足情况, 并因此使芯线同绝缘层间相脱离的情况。该种情况的存在, 在对线路进行通电之后, 则很可能因导线绝缘层受到破坏而存在漏电问题, 进而对人们的生命财产安全造成威胁。对于部分导线绝缘层, 其表面存在较为粗糙的情况, 且绝缘层厚度在均匀性方面存在不足, 也将因此影响到导线应用的安全性。在钢管埋设时, 因钢管内径较小, 在钢管敷设时则存在其弯曲弧度无法满足要求的情况, 在使导线绝缘层很可能因此发生破裂的情况下威胁到人们的生命财产安全。

  2.3 技术人员问题

  电气安装工程是一项技术要求较高的工作, 如施工人员在安装经验以及基本技术方面存在不足, 则很可能使工程在投入运作的过程当中出现故障问题。在以往部分工程工作当中, 很多工程都是由老电工进行的设备安装与质量检查。对于这部分电工来说, 虽然其在部分安装细节方面经验较为丰富, 但在电气工程专业知识方面则存在着一定的不足, 也可能因无法满足现阶段施工需求而导致一定的问题发生。

  3 解决问题的对策构建

  为了能够做好上述存在问题的解决, 即需要在施工中做好以下方面工作的开展:

  3.1 加强材料控制

  在施工企业建筑电气安装施工工作开展中, 电气材料与设备可以说是工程开展的重要基础。在具体工作开展中, 做好两者的质量保证是首先需要解决的问题。要想保证电气材料、设备的质量, 采购是其中的关键环节。对于该项工作来说, 其并不是依靠单人完成的, 而需要采购部门在同其余部门联合的基础上完成该项工作。在具体采购当中, 主要内容有确定采购渠道、选择采购人员以及落实采购资金等方面, 可以说是一项系统、复杂的工程。在具体工作当中, 采购人员不仅需要能够做好相关电气材料以及设备的鉴定工作, 且需要能够加强电气材料以及电气设备企业的资质管理, 同具有较高信誉、资质的企业开展合作。当相关材料、设备进场后, 企业的质检员、采购员以及保管员即需要能够严格按照流程审核电气材料设备, 对于出现问题的材料设备, 则坚决不允许其入场, 避免因质量不合格导致电气质量问题的发生。

  3.2 严选安装人员

  在建筑电气安装工程质量控制工作当中, 安装人员可以说其中的一项重要要求, 在建筑电气安装施工中, 安装人员是工程活动的主要执行者, 其施工技术以及素质水平的高低将直接对建筑电气安装工程质量产生影响。对此, 施工企业即需要能够选拔好电气工程安装人员, 选拔出具有良好思想道德以及精湛技术能力的人才。对于高质量的电气安装工程来说, 其是众多技术人员、施工人员以及管理人员共同努力获得的结果。对此, 施工企业即需要做好科学是施工技术培训体系的建立与完善, 以此在实现施工技术人员综合素养以及专业技能提升的基础上使其形成更强的质量控制意识。

  3.3 改善防雷接地

  在电气安装施工中, 防雷接地是其中的一项关键举措, 其目的, 即是保证雨天天气对电力系统不会造成破坏, 进而实现人民群众安全的保证。在具体电气安装过程当中, 防雷接地可以说是非常重要的一项工作内容, 作为施工企业, 在具体防雷设计方面, 即需要将地面同各类金属管道进行连接, 以此形成系统性的自然接地体。同其余接地体相比, 自然接地体也存在着一定的问题, 即电阻有时存在无法对日常生产工作需求进行满足的情况。如没有自然接地体, 施工企业则可以将人工接地体埋入到地下, 以此对自然接地体存在的弊端进行弥补。在电气安装工作当中, 配电箱也是其中的重要组成部分, 是保障电气工程动力、照明的重要动力。配电上上方原件具有型号复杂以及种类众多的情况, 在实际对配电箱原件进行选择时, 需要做好选择与甄别工作。此外, 施工企业也需要能够做好电气设备的上下级容量配合处理, 避免因配合问题对系统的运行可靠性产生影响。

  3.4 加强质量管理

  建筑安装工程施工质量的高低, 同所使用的施工技术间具有着密切的联系。技术因素方面, 则同施工人员的技术水平、信息技术、装备技术以及检测技术等具有着密切的联系。在实际电气安装施工中, 即需要能够将技术全面的贯彻在施工过程当中, 积极做好技术创新工作, 在加强新工艺、新技术研究的基础上做好完善技术要求标准的.建立与落实。除了技术方面因素外, 施工企业也需要能够对管理工作的重要性引起重视, 通过科学施工管理岗位责任制的建立与完善实现整个电气安装工程施工的全过程管理, 以此对电气安装施工中不同人员以及不同部门所具有的责任进行明确, 在做好施工方法、内容明确的基础上做好施工结论分析, 在联系施工质量通病以及工程施工特点的基础上做好电气安装工程施工管理目标的确定。

  3.5 建立ABC三级质量检验控制体系

  建立图1所示ABC三级质量检验控制体系, 根据电气工程实施过程分三级逐步落实工程质量检验工作。

  图1 ABC三级质量检验控制体系

15317293995b4c55f785cb3882528.png

  3.5.1 在电气施工过程中, 应该按照上文中的三级质量检验控制体系对电气安装质量严格把关。

  该质量控制体系主要分为A、B、C三个控制等级。A级为停检点, 也就是在交工文件中需要业主、监理方和质量监督站验收并签字确认的节点。B级为报告控制点, 是质检员验收并签认后依照程序上报业主和工程监理的节点。C级是一般控制点, 应该由施工员或施工班组检验并签字的节点, 在整个控制体系中也是相当重要的一个环节。

  3.5.2 报验通知单

  (1) A级控制点:报验通知单 (一式三份) 及相应的质量记录由施工员自检合格后填写。按常规来讲, 应该提前24小时将报检通知单提交监理公司监理工程师两份, 通知相关的技术员、质检员和现场管理人员亲自到现场进行验收, 所有项目验收合格后再由相关负责人签字确认。

  (2) B级控制点:共检通知单和与之相关的质量检查记录必须由专门的施工员验收合格后再按规定填写, 之后交给相关质检员确认合格后再在记录上签字确认, 最后交给负责该项目的监理工程师统一抽检。

  (3) C级控制点:不做共检通知单, 由施工员检查验收后做记录标识, 专职质量检查员进行抽查。

  (4) 设备、材料检验 (即合格证、材料抽检、开箱检验等) B级以上 (含B级) 的检验通知单及相应的质量记录, 由物资部专职材料检验员自检合格后填写, 原则上提前24小时 (一式三份) 负责提交监理工程师, 通知有关人员到现场联合检查, 经过相关人员检查合格后, 签字确认。

  4 结论

  总之, 建筑电气工程安装工程在施工过程中出现问题是在所难免的, 但是如果问题根源是出现了质量问题或缺陷, 就必须采取措施严格控制, 以确保电气安装与整体建筑工程的质量。在本文中, 我们对建筑电气安装工程中的问题与改善措施进行了一定的研究。在实际安装工作中工程人员还应该多注意一些常见的问题, 通过科学的管理方法和质量控制措施为整个工程的顺利完工保驾护航。

  参考文献

  [1]方健燕.简述建筑设备安装工程质量通病的防治[J].广东建材, 20xx (03) .

  [2]张秋松.住宅小区开发建设中机电安装工程需要注意的工程问题[J].城市住宅, 20xx (02) .

  [3]杜新红.建筑工程施工现场机电安装工艺技术之研究论述[J].智能城市, 20xx (02) .

  [4]袁瑞丹.机电安装工程质量通病与防治探析[J].科技致富向导, 20xx (03) .

解决方案 篇2

  冰箱清洁步骤:

  1.清洁冰箱外壳最好每天进行,用微湿柔软的布每天擦拭冰箱的外壳和拉手。

  2.清理内胆前先切断电源,把冰箱冷藏室内的食物拿出来。

  3.软布蘸上清水或食具洗洁精,轻轻擦洗,然后蘸清水将洗洁精拭去。

  4.拆下箱内附件,用清水或洗洁精清洗。

  5.清洁冰箱的“开关”、“照明灯”和“温控器”等设施时,请把抹布或海绵拧得干一些。

  6.内壁做完清洁后,可用软布蘸取甘油(医用开塞露)擦一遍冰箱内壁,下次擦的时候会更容易。

  7.用酒精浸过的布清洁擦拭密封条。如果手边没有酒精,用1:1醋水擦拭密封条,消毒效果很好。

  8.用吸尘器或软毛刷清理冰箱背面的通风栅,不要用湿布,以免生锈。

  9.清洁完毕,插上电源,检查温度控制器是否设定在正确位置。

解决方案 篇3

  紧张、忙碌的20xx年已进入金秋十月。回顾这段时间以来,在上级部门的领导下,克服各种工作困难,不断拓宽服务领域,低保工作取得了一定的进展和提高。通过学习,用科学的理论武装头脑,更新了观念,振奋了精神,以促进社会经济协调发展为目标,以保障弱势群体基本生活权益为己任,履职尽责,尽心尽力,较好的完成了今年的工作任务,现将工作情况总结如下:

  一、克服困难,按时完成各项工作

  我社区地处偏僻,居民大多是下岗、失业、无业人员,每月对申请低保的贫困户严格按照上级文件要求申报。全面掌握实际情况,真正做到户主清、人口清、住址清、年龄清、职业清、工作单位清、单位性质清、总收入清、人均收入清、补助金额清。努力实现“应保尽保、分类救助”。对符合低保条件的家庭经评议小组评议,并严格按照初审、复审、申报工作进行办理,认真建立三级档案,对审批通过的进行张榜公示。月初填报11张低保月报表,做到责任心强字迹抄写工整,以保证每份表格清晰、数据准确,上报到办事处。在完成每月固定工作的同时,更要完成好上级领导按排的其它工作任务。今年为特困户每人每年医疗救助上调标准,市区民政部门先后统一按排学习,为他们减轻了一定的生活负担。要求特困户家庭成员的信息全部录入微机,工作量大、时间紧迫、是前所未有的。但是我仍然按时将信息准确的上报到民政局。刚刚休过“十一”长假,一身的疲惫挥之而去,又迎来了新的工作任务,利用年末整理档案。

  二、严格把关,切实搞好摸底调查工作。

  今年深入细致地对全社区各类人员一一进行了排查,将社区困难的具体情况,困难户的户数、人员分类以及低保状况进行了全面调查,要求特困户开单位证明、学生证明等,并实行居民群众全程监督制,随时掌握低保对象的收入动态,认真实行低保工作的“动态管理”,经调查特困户中因占地单位给每月发补助金的,查实后给予停发特困金。社区共清理出因家庭收入发生变化,不符合低保条件而停发 户 人;新增低保对象 户 人。现有低保户数 户 人 元。使低保金能进能出,可升可降。杜绝不符合低保条件的居民领取,从而节约有限的国家资源。

  三、提高意识,真正走出贫困生活

  低保工作就是做人的工作。让真正困难的人享受到低保待遇只是低保工作的开始。我们最终目的是通过教育,使他们转变心态,让有工作能力的自动走出低保,实现自食其力。利用每月签到日组织一些活动,如进行公益劳动,清理街头小广告,学习国家的最新政策。积极与社保员联系,如有技能培训,低保户优先报名参加,对这一群体组织免费职业指导、职业介绍和就业培训。并有意识、有计划、有目标地引导他们就业。

  虽然对低保工作倾注了大量精力,做了大量的工作,目前兴安地区的低保工作也有所突破,但总感到在学习的深入性和系统性上还有很大不足。工作作风上有差距。高标准、严要求、高质量的意识还不够强,还存在问题,还有待于进一步的完善。在今后工作中我更要以服务社会、服务群众为根本宗旨。保障困难群众的基本生活为首要任务。加强与上级领导的联系,进一步提高低保工作服务质量和保障水平,充分发挥优秀低保人员的中坚力量。

  低保工作做到透明化、阳光化管理。牢固树立“民政为民”的服务意识。

  社区低保工作的难点和解决措施

  随着城市的不断发展,城市的贫富程度差距日益拉大,低收入群体面临较大的生活困难,政府通过最低生活保障制度解决了困难低收入群体的生活困难。这项惠民措施实行以来,解决了各类困难群体的实际生活困难,缓解了他们看病难、看病贵的困难。我市的低保救助工作在实践运行中也面临了一些问题,亟待解决。接下来,我结合工作实践经历和本次培训的心得体会谈谈对低保救助工作的想法。

  一、我社区低保救助基本情况

  社区总面积约6万平方米,总人口XX人,现有低保户XX户。我社区共有小区XX 、XX 、XX和XX五个小区,其中小区和XX区为老小区,人员主要是原国有和集体企业的职工住房和下方回宁的房屋,困难居民较多,也是社区低保救助的难点和重点。

  二、我社区低保救助工作的难点

  社区开展低保救助工作多年以来,帮助了很多困难家庭解决了实际困难,也有力地维护了社会的和谐稳定,但是目前也面临不少问题,存在较多工作难点。

  一是人户分离人员难管理。我社区低保户较多,按人户情况可分为人在户在和人户分离两种情况。其中人在户在是指户籍在我社区,实际居住地也在我社区的低保家庭。这类人群便于掌握其家庭实际情况,也便于管理和服务。人户分离是指户籍在我社区,居住在其他社区的低保家庭,这类人员又多是因拆迁在外过度或者已经拿到经济适

  用房为迁户口。低保救助工作的政策对收入情况和住房面积有明确的要求,而社区对人户分离低保家庭收入和住房面积的掌握主要是通过低保年审时的书面审查和其他途径了解。这种方式为无奈之举,并不能准确、全面的掌握他们的情况,给我社区的低保救助工作带来很大的困难。

  二是政策宣传和落实在内容和时间上存在差距。政府和社会非常关心低保家庭的生活困难,也想尽办法解决他们的实际生活困难。报纸作为重要的宣传工具,能够及时的报道我市对低保家庭的关怀和帮助,但由于报纸宣传时间和政策落实有一个过程,宣传的内容与实际落实在细微上也存在少数不一致的情况,导致了部分居民对社区低保工作的误解,甚至发生过居民拿着报纸要求社区落实惠民政策。我们非常重视和理解居民的诉求,面对居民的误解,但也只能耐心细致的解释,并不能拿出具体的方案给群众解释,在一定程度上影响了社区的公信力。

  三、解决工作难点,做好群众工作

  社区低保救助工作虽然面临很多难点,但作为基层工作人员,我们有信心、能力和责任采取有力措施,做好群众工作,解决工作难点,践行为民服务的宗旨。

  一是要认真学习低保政策法规。群众的误解很多是因为他们对政策不够了解,对政策理解存在片面性。这就要求我们认真学习低保政策法规,宣传党和政府惠民政策的同时,,耐心细致为居民解答政策疑问,最大限度避免因政策理解不到位引发的不稳定因素,着力提升社会的整体和谐度。

  二是要统筹媒体宣传和政策落实。希望上级部门能够协调媒体宣传部门,增强媒体政策宣传和政府政策落实的协调度。既要在最大限度上发挥媒体宣传的特有作用,又要在政策落实的时间节点上与媒体宣传保持一致,为基层社区的工作提供良好的舆论和政策环境。

  三是要建立和完善全市统一的低保救助信息平台。人户分离情况较为常见,这就需要全市基层社区齐抓共管,步调一致。当务之急是建立和完善全市统一的低保救助信息平台,按照“户籍地入保、居住地调查”的原则,明确相关基层社区、村的职责分工,完善低保家庭收入和住房情况的调查体系,在最大限度上落实“应保尽保、应出尽出”的工作要求。与此同时,还要建立全市统一的低保转入传出机制,为符合条件迁移户口的低保家庭转入新的户籍地提供条件,避免出现低保迁移空档,影响低保户迁移的积极性,进而影响低保工作的扎实开展。通过信息平台的建立,可以形成齐抓共管的良好局面,也有助于低保政策的进一步落实,坚决防止收入和住房超标人员享受最低生活保障,增加财政负担,影响社会公平。

  通过此次培训,我进一步认识到在工作中,要扎实细致的开展工作,开动脑筋,想办法解决工作的难题,做好新形势下的群众工作,切实维护人民群众的利益,维护社会的公平、正义和稳定。

解决方案 篇4

  Android设置闹钟并不像IOS那样这么简单,做过Android设置闹钟的开发者都知道里面的坑有多深。下面记录一下,我解决Android闹钟设置的解决方案。

  主要问题

  1、API19开始AlarmManager的机制修改。

  2、应用程序被Kill掉后,设置的闹钟不响。

  3、6.0以上进入Doze模式会使JobScheduler停止工作。

  4、手机设置重启后,闹钟失效问题。

  API19以上AlarmManager机制的修改

  API19之前AlarmManager提供了三个设置闹钟的方法,由于业务需求闹钟只需要一次性,所以采用set(int type,long startTime,PendingIntent pi);这个方法。

  从API 19开始,AlarmManager的机制都是非准确传递,操作系统将会转换闹钟,来最小化唤醒和电池使用。

Android闹钟设置的解决方案1

  由于之前的程序,没有对API19以上的闹钟设置做处理,导致在4.4以上的手机设置闹钟无响应(应用程序没有被杀死的情况也没有闹钟)。

  因些,设置闹钟需要根据API的版本进行分别处理设置。代码如下:

  AlarmManager am = (AlarmManager) getActivity() .getSystemService(Context.ALARM_SERVICE);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { am.setExact(AlarmManager.RTC_WAKEUP, TimeUtils .stringToLong(recordTime, TimeUtils.NO_SECOND_FORMAT), sender);}else { am.set(AlarmManager.RTC_WAKEUP, TimeUtils .stringToLong(recordTime, TimeUtils.NO_SECOND_FORMAT), sender);}

  这样,保证闹钟在应用程序没有被Kill掉的情况闹钟。

  应用程序被Kill掉时的处理

  应用程序被Kill掉后,设置的闹钟失效,这里利用守护进程以及灰色保活来保证后台闹钟服务不被Kill掉。当应用程序以及闹钟服务被Kill掉,守护进程以及灰色保活来重新启动闹钟服务,并且重新设置闹钟。

  关于守护进程的处理,这里采用开源的守护进程库。Android-AppDaemon

  在闹钟服务的onCreat加入Android-AppDaemon这个开源的守护进程。代码如下:

  @Overridepublic void onCreate() { super.onCreate(); Daemon.run(DaemonService.this, DaemonService.class, Daemon.INTERVAL_ONE_MINUTE); startTimeTask(); grayGuard();}

  为进一步保证闹钟服务的存活,同加上灰色保活(利用系统的漏洞启动前台Service)。

  代码如下:

  private void grayGuard() { if (Build.VERSION.SDK_INT < 18) { //API < 18 ,此方法能有效隐藏Notification上的图标 startForeground(GRAY_SERVICE_ID, new Notification()); } else { Intent innerIntent = new Intent(this, DaemonInnerService.class); startService(innerIntent); startForeground(GRAY_SERVICE_ID, new Notification()); } //发送唤醒广播来促使挂掉的UI进程重新启动起来 AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Intent alarmIntent = new Intent(); alarmIntent.setAction(WakeReceiver.GRAY_WAKE_ACTION); PendingIntent operation = PendingIntent.getBroadcast(this, WAKE_REQUEST_CODE, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { alarmManager.setWindow(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), ALARM_INTERVAL, operation); }else { alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), ALARM_INTERVAL, operation); }}/** * 给 API >= 18 的平台上用的灰色保活手段 */public static class DaemonInnerService extends Service { @Override public void onCreate() { Log.i(LOG_TAG, "InnerService -> onCreate"); super.onCreate(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.i(LOG_TAG, "InnerService -> onStartCommand"); startForeground(GRAY_SERVICE_ID, new Notification()); //stopForeground(true); stopSelf(); return super.onStartCommand(intent, flags, startId); } @Override public IBinder onBind(Intent intent) { throw new UnsupportedOperationException("Not yet implemented"); } @Override public void onDestroy() { Log.i(LOG_TAG, "InnerService -> onDestroy"); super.onDestroy(); }}

  上面操作尽可能提高闹钟服务的存活。但是在5.0以上的手机,利用系统的自带的Clean功能的时候,还是会将闹钟服务彻底的干掉。为了解决5.0以上的问题,这里引入5.0以上的新特性 JobScheduler。

  5.0以上的JobScheduler

  在这里利用5.0以上的JobScheduler创建一个定时的任务,定时检测闹钟服务是否存在,没在存在则重新启动闹钟服务。(这里我设置每一分钟检测一次闹钟服务)

  在进入应用程序的时候检测当前系统是否是5.0以上,如果是则启动JobScheduler这个服务。代码如下:

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mJobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE); JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, new ComponentName(getPackageName(), JobSchedulerService.class.getName())); builder.setPeriodic(60 * 1000); //每隔60秒运行一次 builder.setRequiresCharging(true); builder.setPersisted(true); //设置设备重启后,是否重新执行任务 builder.setRequiresDeviceIdle(true); if (mJobScheduler.schedule(builder.build()) <= 0) { //If something goes wrong }}

  其中的builder.setPersisted(true); 方法是设备重启后,是否重新执行任务,在这测过是可以重新启动任务的。

  上面的操作进一步保证了闹钟服务被Kill掉后,重新启动服务。但是在6.0以上引入了Doze模式,当6.0以上的手机进入这个模式后,便会使JobScheduler停止工作。

  6.0以上Doze模式的处理

  为了让JobScheduler可以在6.0以上进入Doze模式工作,这里针对6.0以上的Doze模式做特殊的处理-忽略电池的优化。

  在Manifest.xml中加入权限。

  

  在设置闹钟的时候,判断系统是否是6.0以上,如果是,则判断是否忽略电池的优化。判断是否忽略电池优化代码如下:

  @TargetApi(Build.VERSION_CODES.M)public static boolean isIgnoringBatteryOptimizations(Activity activity){ String packageName = activity.getPackageName(); PowerManager pm = (PowerManager) activity .getSystemService(Context.POWER_SERVICE); if (pm.isIgnoringBatteryOptimizations(packageName)) { return true; }else { return false; }}

  如果没有忽略电池优化的时候,弹出提醒对话框,提示用户进行忽略电池优化操作。代码如下:

  /*** 针对N以上的Doze模式** @param activity*/public static void isIgnoreBatteryOption(Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { try { Intent intent = new Intent(); String packageName = activity.getPackageName(); PowerManager pm = (PowerManager) activity.getSystemService(Context.POWER_SERVICE); if (!pm.isIgnoringBatteryOptimizations(packageName)) {// intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS); intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); intent.setData(Uri.parse("package:" + packageName)); activity.startActivityForResult(intent, REQUEST_IGNORE_BATTERY_CODE); } } catch (Exception e) { e.printStackTrace(); } }}

  在界面重写onActivityResult方法来捕获用户的选择。如,代码如下:

  @Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { if (requestCode == BatteryUtils.REQUEST_IGNORE_BATTERY_CODE){ //TODO something } }else if (resultCode == RESULT_CANCELED){ if (requestCode == BatteryUtils.REQUEST_IGNORE_BATTERY_CODE){ ToastUtils.show(getActivity(), "请开启忽略电池优化~"); } }}

  补充

  当应用程序被Kill掉,但是闹钟的服务没有被Kill掉的,这时候又设置了闹钟。这就意味着设置的闹钟没有放到闹钟服务那里。所以这种情况,设置的闹钟会失效。为了解决这种情况,利用AIDL(闹钟服务在另一个进程的需要进程间通信)调用闹钟服务的重新设置闹钟方法重设闹钟。

  在应用程序的onCreat()方法启动闹钟服务,然后再绑定闹钟服务。

  private void initAlarmService() { startService(new Intent(this, DaemonService.class));//启动闹钟服务 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { //JobScheduler ... } //绑定闹钟服务 Intent intent = new Intent(this, DaemonService.class); intent.setAction("android.intent.action.DaemonService"); bindService(intent, mConnection, Context.BIND_AUTO_CREATE);}

  在onDestroy()方法,调用闹钟服务的重设闹钟方法。代码如下:

  @Overrideprotected void onDestroy() { super.onDestroy(); try {//判断是否有闹钟,没有则关闭闹钟服务 String alarm = localPreferencesHelper.getString(LocalPreferencesHelper.ALARM_CLOCK); if (daemonService != -1 && mIRemoteService != null) {// android.os.Process.killProcess(daemonService); mIRemoteService.resetAlarm(); } if (!alarm.equals("[]")) { if (daemonService != -1) { startService(new Intent(this, DaemonService.class)); } } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mJobScheduler.cancel(JOB_ID); } } unbindService(mConnection); //解除绑定服务。 } catch (Exception e) { }}

  这里说明一下,当服务启动并且被绑定的情况下,unbindService是不会停止服务的。

  最后

  以上并不代表所有的Android手机的闹钟都可以用,这只是尽最大的可能保证大部分的手机。

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持教程网。

【【热门】解决方案四篇】相关文章:

【热门】解决方案4篇05-04

【热门】解决方案5篇05-03

【热门】解决方案三篇05-02

【热门】解决方案六篇05-02

【热门】解决方案3篇04-29

解决方案5篇05-05

解决方案6篇05-01

解决方案四篇04-30

解决方案4篇04-30