> JobScheduler(仅限API 21或以上)
Android在API 21上添加了这个类,这里的文档是link.
> JobSchedulerCompat – 用于API 11或更高版本的JobScheduler库的Backport
您可以找到有关库here的所有信息.
>使用警报管理器处理定期任务
您还可以使用AlarmManager来安排定期任务.实施它的完整文章发布于here.
>使用GCM(Google Cloud Messaging)网络管理器安排定期任务.
您可以查看此文档link来实现它.
使用GCM网络管理器定期执行任务的示例
在项目级build.gradle中添加依赖项.
compile 'com.Google.androID.gms:play-services-gcm:7.5.0'
创建一个扩展到GcmTaskService的java类
public class BackgroundTaskHandler extends GcmTaskService { public BackgroundTaskHandler() { } @OverrIDe public int onRunTask(TaskParams taskParams) { //Your periodic code here }}
在manifest.xml中声明服务
<service androID:name=".BackgroundTaskHandler" androID:exported="true" androID:permission="com.Google.androID.gms.permission.BIND_NETWORK_TASK_SERVICE"> <intent-filter> <action androID:name="com.Google.androID.gms.gcm.ACTION_TASK_READY" /> </intent-filter> </service>
现在安排任何类的周期性任务: –
String tag = "periodic"; GcmNetworkManager mScheduler = GcmNetworkManager.getInstance(getApplicationContext()); long periodSecs = 60L;// 1 minute PeriodicTask periodic = new PeriodicTask.Builder() .setService(BackgroundTaskHandler.class) .setPeriod(periodSecs) .setTag(tag) .setPersisted(true) .setUpdateCurrent(true).setrequiredNetwork(com.Google.androID.gms.gcm.Task.NETWORK_STATE_CONNECTED) .build(); mScheduler.schedule(periodic);总结
以上是内存溢出为你收集整理的android – 每天应用程序未打开时运行代码全部内容,希望文章能够帮你解决android – 每天应用程序未打开时运行代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)