我的任務是觸發一種方法來在每次更改日期(每上午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 ...他希望在系統中的日期更改時發出通知... –