gpt4 book ai didi

java - Android AlarmManager 服务

转载 作者:太空狗 更新时间:2023-10-29 12:52:50 27 4
gpt4 key购买 nike

我有一个小问题...我最需要的是一些提示和示例..我需要对 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?

如果你能给我一些例子,非常感谢..提前致谢!

最佳答案

据我所知,您在“MyAlarmService”中每 10 秒进行一次准时测试,对吗?

如果是这样,我的建议是使用 Handler 而不是 AlarmManager。根据android文档(http://developer.android.com/reference/android/app/AlarmManager.html),您应该使用Handler来进行定时操作。

此外,您可能不需要每次运行测试都启动服务。服务不是你应该不断启动的东西,你可能想把测试代码放在循环中,只有在你真正需要它的时候才启动服务。

关于handler的使用例子,这里有教程:http://www.vogella.com/articles/AndroidPerformance/article.html

你应该做的是:

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

关于java - Android AlarmManager 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10273376/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com