我的任务是触发一种方法来在每次更改日期(每上午12点)刷新或重置我的应用程序。我试图在网上搜索一个答案,但我找不到任何东西。我可以使用android中的任何方法/侦听器吗?或任何方法? 任何建议家伙?开启日期更改监听器
5
A
回答
2
是的,你可以听取Android上的日期/时间变化。为此,报名参加下列意图过滤器BroadcastReceiver明确在你的活动:
android.intent.action.ACTION_TIME_TICK
这个意图是每分钟发送一次。您不能通过通过清单中声明的组件接收此内容,但只能通过Context.registerReceiver()明确注册。
接收机(内)类:
private final MyDateChangeReceiver mDateReceiver = new MyDateChangeReceiver();
public class MyDateChangeReceiver extends BroadcastReceiver{
@Override
public void onReceive(final Context context, Intent intent) {
// compare current time and decide if it's 12 AM
Log.d("MyDateChangeReceiver", "Time changed");
}
}
注册它在你的onResume方法:
registerReceiver(mDateReceiver, new IntentFilter(Intent.ACTION_TIME_TICK));
,不要忘了在你的onPause方法取消其注册:
try {
unregisterReceiver(mDateReceiver);
} catch (IllegalArgumentException e) {
if (e.getMessage().contains("Receiver not registered")) {
// Ignore this exception. It's a known bug and is exactly what is desired.
//Log.w(TAG,"Tried to unregister the receiver when it's not registered");
} else {
// unexpected, re-throw
throw e;
}
}
0
如果您希望的时间(上午12:00)与系统时间匹配,那么您必须在每个确定时间间隔检查系统时间&然后执行您必须执行的操作。对于此任务,您必须使用任一异步任务或报警管理器。如果我没有错,那么这将是你的问题的解决方案希望这可以帮助你。
+0
运行后台服务以连续检查和比较时间不是一个好主意。 BroadcastReceiver是一个更好的主意。请看下面的答案:) – Saket
相关问题
- 1. ABAddressBook更改监听器
- 2. JQuery URL更改监听器
- 3. Android AsyncTask - 更改监听器
- 4. 更改收集器上的监听器(显然是监听模型更改)
- 5. 监听日历中的更改
- 6. ExtJS的日期选择器监听
- 7. 如何在使用Html.DatePickerFor时监听JavaScript中的日期更改
- 8. Optaplanner:在施工启发阶段更改监听器
- 9. MDB监听器未启动
- 10. BlackBerry设备日期/时间更新监听器?
- 11. 循环属性更改监听器
- 12. JComboBox选择更改监听器?
- 13. CSS属性更改监听器
- 14. 将值更改为JTextField的监听器
- 15. 汇合atlassian更改事件监听器
- 16. MySQL表更改的事件监听器?
- 17. Spinner监听器更改活动
- 18. Dart lang中的DOM更改监听器
- 19. ObservableValue更改监听器:如何访问
- 20. java属性更改监听器
- 21. Actionscript 3.0 MovieClip帧更改监听器
- 22. 图库内容更改的监听器
- 23. 事件监听器更改按钮
- 24. Java中的文件更改监听器
- 25. 静态表更改DOM监听器
- 26. JTable单元格值更改监听器
- 27. 的OnClick监听器不更改文本按预期
- 28. 更改Android语言监听
- 29. 在CallLog.Calls中监听更改
- 30. System.getProperty更改监听程序
http://javatyro.blogspot.in/2013/07/android-date-picker-example.html - 可能是这可以帮助你。你可以使用DatePickerLi的onDateSet stener –
@JigarPandya OP没有要求DatePickerListener ...他希望在系统中的日期更改时发出通知... –