我有一个小问题…比其他任何事情都更重要,我需要一些提示和示例.
我需要对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服务所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)