• 0755-82538016
  • 0755-82560826
  • 深圳网站建设_APP小程序开发_博纳网络

    • 网站建设案例
      • ";

        营销网站建设

        全网营销网站

        高端网站建设

        商城网站建设

        外贸网站建设

        小程序开发

        区块链开发

        物联网项目开发

        定制app开发

        在线教育网站

        速成网站建设

        服装网站建设

        餐饮网站建设

        珠宝首饰网站

        机械制造网站

        文化旅游网站

        家装建材网站

        美容化妆品网站

        数码产品网站

        模板案例库

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站推广
      • ";

        网站优化基础

        建站优化

        网站优化

        营销推广

        整站优化

        推广帮助

        谷歌搜索

        推广方案

        推广套餐

        推广技巧

        百度排名

        巧用微博推广

        直播视频网站推广法

        微信推广网站方法

        网站外链推广

        公共微信号推广

        网站优化闲谈

        常见问题

        公司资讯

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站制作资讯
      • ";

        网站制作

        外贸网站建设

        网站设计

        网站代运营

        深圳网站建设专栏

        深圳小程序开发

        网站改版

        APP开发

        网站建设方案

        安全维护

        软件开发

        平台搭建

        建站行业资讯

        域名注册

        虚拟主机

        企业邮局

        国外主机

        VPS独享空间

        免备案香港服务器

        如何解析域名

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站报价
      • ";

        网站报价

        建站方案

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 公司动态
      • ";
        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 关注博纳
      • ";

        网站制作精英团队

        网站建设公司愿景

        公司介绍

        主营业务

        博纳文化

        加入博纳

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 联系我们
      • ";

        网站建设公司联系方式

        网站建设、网站制作公司乘车路线

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
      网站制作资讯

      当前位置:

        主页网站制作资讯APP开发开发APP关于JobScheduler的替代解决方案

      开发APP关于JobScheduler的替代解决方案

      发布时间:2019-06-15

      文章编辑:网站建设 文章来源:APP开发 浏览量:次

        开发APP关于JobScheduler的替代解决方案,深圳APP开发公司前面提到,使用JobScheduler时即使执行任务的条件不满足,任务也会被执行。为了规避这个缺陷,可以使用Evernote来代替JobScheduler。以下是具体的实现方式。在build.gradle文件中增加依赖库,代码如下:
      dependencies {    …     compile  ' com. evernote: android- job: 1. 1. 8 ' }
      从库提供的类派生几个类,代码如下:
      public class DemoJobCreator implements JobCreator {    @ Override     public Job create( String tag) {         switch (tag) {             case DemoSyncJob. TAG:                 return new DemoSyncJob();             default:                 return null;        }    } } public class DemoSyncJob extends Job {     public static final String TAG = "job_ demo_ tag";    @ Override    @ NonNull     protected Result onRunJob( final Params params) {             if (params. isPeriodic()) {             PendingIntent pendingIntent = PendingIntent. getActivity(
      getActivity( getContext(), 0, new Intent (getContext(), MainActivity. class), 0);             Notification notification = new NotificationCompat. Builder (getContext())                    . setContentTitle(" Job Demo")                    . setContentText(" Periodic job run")                    . setAutoCancel( true)                    . setContentIntent( pendingIntent)                    . setSmallIcon( R. drawable. ic_ notifications_ black_ 24dp)                    . setShowWhen( true)                    . setColor( Color. GREEN)                    . setLocalOnly( true)                    . build();             NotificationManagerCompat. from( getContext()). notify( new Random(). nextInt(), notification);             EamLog. v(" job", "isPeriodic== true");        } else {             EamLog. v(" job", "isPeriodic== false");        }         return Result. SUCCESS;    }}
      在Application类中创建类的实例,代码如下:
      public class EamApplication extends Application {     private static Context sContext;    @ Override     public void onCreate() {         super. onCreate();        …               JobManager. create( this). addJobCreator( new DemoJobCreator());    } } //Job 的 任务 Id private int mLastJobId; private JobManager mJobManager; //初始化 JobManager 对象 public void initVariables() {    …     mJobManager = JobManager. instance();
      } //设置 执行 此 任务 需 满足 的 条件、 间隔 时间 和 关机 重 启 后 是否 继续 执行 public static void scheduleJob(){     mLastJobId = new JobRequest. Builder( DemoSyncJob. TAG)            . setRequiredNetworkType( JobRequest. NetworkType. CONNECTED)            . setRequiresDeviceIdle( true)            . setRequiresCharging( true)            . setPeriodic( JobRequest. MIN_ INTERVAL)            . setPersisted( true)            // 设置 只有 此 任务 的 执行 条件 被 满足 时, 才 执行 此 任务            . setRequirementsEnforced( true)            . build()            . schedule(); } //取消 Job private void cancelJob(){     mJobManager. cancelAll(); }
      Evernote库提供了setRequirementsEnforced方法,让使用者
      使用者设置是否只有任务执行的条件都满足了,系统才执行任务。在Android7.0中,Job循环执行时最小的间隔时间是15分钟,为了兼容Android7.0,Evernote库的任务循环执行的最小间隔时间也是15分钟。在Evernote提供的源码(JobRequest.java)中,可以看到如下说明。/** * The minimum interval of a periodic job. Specifying a smaller interval will result in an exception.  * This limit comes from the {@code JobScheduler} starting with Android Nougat. */ public static final long MIN_ INTERVAL = TimeUnit. MINUTES. toMillis( 15);
      使用这个库时,在混淆文件中要增加如下代码。
      -dontwarn com. evernote. android. job. gcm.** -dontwarn com. evernote. android. job. util. GcmAvailableHelper
      -keep public class com. evernote. android. job. v21. PlatformJobService -keep public class com. evernote. android. job. v14. PlatformAlarmService -keep public class com. evernote. android. job. v14. PlatformAlarmReceiver -keep public class com. evernote. android. job. JobBootReceiver -keep public class com. evernote. android. job. JobRescheduleService
      好了,APP开发公司本文关于“JobScheduler的替代解决方案
      ”知识与代码分享就到这里,谢谢关注,博纳网络编辑整理。
       

      当前文章链接:/construction/appkaifa/2920.html
      上一篇:安卓APP项目开发怎样解决定期执行任务的功能设计? 下一篇:安卓APP项目开发关于解决onStopJob注意事项
      返回列表
      如果您觉得案例还不错请帮忙分享:

      [声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。

      相关案例推荐

      • 澳爸购

        澳爸购

        跨境购电子商务

        澳爸购

      • 车奇士

        车奇士

        集团网站

        车奇士

      • 英艺在线

        英艺在线

        行业网站

        英艺在线

      资讯分类

      • 网站制作
      • 外贸网站建设
      • 网站设计
      • 网站代运营
      • 深圳网站建设专栏
      • 深圳小程序开发
      • 网站改版
      • APP开发
      • 网站建设方案
      • 安全维护
      • 软件开发
      • 平台搭建
      • 建站行业资讯
      • 域名注册
      • 虚拟主机
      • 企业邮局
      • 国外主机
      • VPS独享空间
      • 免备案香港服务器
      • 如何解析域名

      最新发布

      • 社区APP开发上线后影响用户使用的粘性有哪些?
      • 为什么说大健产业O2OAPP开发潜力无限
      • 网络公司对社区O2OAPP开发基本认识
      • 工业4.0时代怎样做好一个APP的开发工作?
      • APP开发公司分析APP应用开发下一个巨头在哪些领域?
      • APP电子商务平台开发前景如何?
      • 社交类型APP开发需要具备的五个必要条件
      • 社交类型APP平台开发使用小程序还是APP模式好?
      • 使用HTML语言开发APP商城可以吗?
      • 社区O2OAPP开发的方向选择

      相关资讯

      • APP网站制作流程以及栏目分布
      • 企业网站优化人员面对搜索引擎的困惑
      • 企业门户网站如何做好针对搜索引擎的优化工作
      • APP/PC购物商城网站如何做好产品图片的优化技巧
      • 网站软文内容以及网站外链存在的几种形式对网站有多大影响
      • 如何做好网站软文标题的描述更适合搜索引擎的需要?
      • 网站建设好后期出现被搜索引擎降权的几个主要因素
      • 小程序开发制作前途取决于市场,别被您的同行抢了先机
      • APP开发公司提醒您关注:电商平台要求商家“二选一”引多方不满 专家提建议
      • APP为什么会在我们的手机界面上变成僵尸图标?

      热门搜索

      • 公司网站建设
      • 网站
      • 商城网站建设
      • 影视网站建设
      • 深圳网站制作
      • 外贸网站建设
      • 深圳网站开发
      • tP外包
      • 深圳app开发
      • 关键词布局

      Copyright © 2021 博纳网络 版权所有  粤ICP备17054727号

      • 🏠

        首页

      • 💬

        咨询

      • 📞

        通话

      • 📂

        案例

      • ⬆

        返回