鏈接:XRefAndroid - Support Android 16.0 & OpenHarmony 5.0 (AndroidXRef/AospXRef)
這里看的Android 10的代碼,選中Android 10,勾選所有工程,搜索DateTimeSettings?:
看到showTimePicker應該是顯示一個設置時間的彈框:
發現當前類沒有這個方法,在其父類的父類SettingsPreferenceFragment中找到該方法定義:
看下SettingsDialogFragment如何創建dialog:
接著查看parentFragment(即DateTimeSettings)里面的onCreateDialog代碼:
然后看TimePreferenceController這個類的buildTimePicker方法:
而且這里還順便看到了設置系統時間的方法setTime。?
可見, 系統時間設置,精確到分,秒和毫秒都置為0。 并且還有個“最小日期”時間戳,設置的時間若小于那個最小時間,則置為最小時間。另外,還有個最大時間(Integer.MAX_VALUE,單位:秒),不能大于那個最大時間。 然后調用AlarmManager的setTime方法設置時間:
((AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE)).setTime(when);