如何运行后5秒后无法在Android 5.1中运行后台服务?

如何运行后5秒后无法在Android 5.1中运行后台服务?,第1张

概述我需要每5秒调用一次后台服务,但我在Android5.1(Lollipop)中遇到问题:它会自动将间隔时间视为1分钟.请帮我每5秒运行一次后台服务.解决方法:由于Android5.1上的警报最小间隔为一分钟,因此您可以调整服务以每5秒重复一次作业:publicclassMyServiceextendsService{@Over

我需要每5秒调用一次后台服务,但我在Android 5.1(Lollipop)中遇到问题:它会自动将间隔时间视为1分钟.

请帮我每5秒运行一次后台服务.

解决方法:

由于AndroID 5.1上的警报最小间隔为一分钟,因此您可以调整服务以每5秒重复一次作业:

public class MyService extends Service {    @OverrIDe    public IBinder onBind(Intent intent) {        return null;    }    @OverrIDe    public voID onCreate() {        super.onCreate();    }    @OverrIDe    public voID onDestroy(){        super.onDestroy();    }    @OverrIDe    public int onStartCommand(Intent intent, int flags, int startID) {        Thread t = new Thread(new Runnable() {            @OverrIDe            public voID run() {                startJob();            }        });        t.start();        return START_STICKY;    }    private voID startJob(){        //do job here        //job completed. Rest for 5 second before doing another one        try {            Thread.sleep(5000);        } catch (InterruptedException e) {            e.printstacktrace();        }        //do job again        startJob();    }}

上面的代码确保在执行另一个作业之前完成一个作业,因此它更简洁.但是,如果您的要求不需要在执行其他作业之前确保完成一个作业,则可以使用以下代码:

public class MyService extends Service {    @OverrIDe    public IBinder onBind(Intent intent) {        return null;    }    @OverrIDe    public voID onCreate() {        super.onCreate();    }    @OverrIDe    public voID onDestroy(){        super.onDestroy();    }    @OverrIDe    public int onStartCommand(Intent intent, int flags, int startID) {        Thread t = new Thread(new Runnable() {            @OverrIDe            public voID run() {                while(true){                    startJob();                    Thread.sleep(5000);                }            }        });        t.start();        return START_STICKY;    }    private voID startJob(){        //do job here    }}

最后,您可以通过调用startService()来启动服务;来自您的活动主题.这样,您就绕过了AlarmManager限制.希望能帮助到你…

总结

以上是内存溢出为你收集整理的如何运行后5秒后无法在Android 5.1中运行后台服务?全部内容,希望文章能够帮你解决如何运行后5秒后无法在Android 5.1中运行后台服务?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1115649.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存