Java-Android AlarmManager服务

Java-Android AlarmManager服务,第1张

概述我有一个小问题…比其他任何事情都更重要,我需要一些提示和示例.我需要对2个字符串进行比较,其中一个是从设备上的当前日期派生的,另一个是我编写的日期.因此可以随时进行比较.如果比较正确,则运行各种命令.我创建了一个AlarmManager,它调用循环一服务,并且在此服务中提供了我需

我有一个小问题…比其他任何事情都更重要,我需要一些提示和示例.
我需要对2个字符串进行比较,其中一个是从设备上的当前日期派生的,另一个是我编写的日期.因此可以随时进行比较.
如果比较正确,则运行各种命令.

我创建了一个AlarmManager,它调用循环一服务,并且在此服务中提供了我需要的比较.

private static final int EXEC_INTERVAL = 10 * 1000;Intent myIntent = new Intent(AndroIDAlarmService.this, MyAlarmService.class);   pendingIntent = PendingIntent.getService(AndroIDAlarmService.this, 0, myIntent, 0);            AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);            Calendar calendar = Calendar.getInstance();            calendar.setTimeInMillis(System.currentTimeMillis());            calendar.add(Calendar.SECOND, 10);            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), EXEC_INTERVAL,  pendingIntent);

什么是做我需要的更好的方法?

我用这个吗?还是需要broadcastReceiver?

如果您能给我一些例子,将不胜感激..在此先感谢!

解决方法:

据我所知,您每隔10秒就会在“ MyAlarmService”中按时进行测试,对吗?

如果是这种情况,我的建议是使用Handler而不是AlarmManager.根据androID文档(http://developer.androID.com/reference/androID/app/AlarmManager.HTML),您应该使用Handler进行计时 *** 作.

此外,您可能不需要在每次运行测试时都启动服务.服务不是您应该持续启动的东西,您可能希望将测试代码放入循环中,并仅在确实需要时才启动服务.

至于使用处理程序的示例,这里有一个教程:http://www.vogella.com/articles/AndroidPerformance/article.html

您应该做的是:

Handler handler = new Handler();handler.postDelayed(new Runnable() { /* comparison work */ }, EXEC_INTERVAL);
总结

以上是内存溢出为你收集整理的Java-Android AlarmManager服务全部内容,希望文章能够帮你解决Java-Android AlarmManager服务所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存