Android Settings.System设置系统时间
时间: 2024-03-12 19:46:23 浏览: 182
要设置Android系统的时间,可以通过以下代码:
```java
long timeMillis = System.currentTimeMillis();
Settings.System.putInt(getContentResolver(), Settings.System.AUTO_TIME,0);
Settings.System.putIntContentResolver(), Settings.System.AUTO_TIME_ZONE, 0);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
Settings.Global.putInt(getContentResolver(), Settings.Global.AUTO_TIME, 0);
Settings.Global.putInt(getContentResolver(), Settings.Global.AUTO_TIME_ZONE, 0);
}
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timeMillis);
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, day);
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
long when = calendar.getTimeInMillis();
if (when / 1000 < Integer.MAX_VALUE) {
SystemClock.setCurrentTimeMillis(when);
}
```
其中,`year`是要设置的年份,`month`是要设置的月份(从0开始,0代表1月),`day`是要设置的日份,`hour`是要设置的小时数,`minute`是要设置的分钟数。
需要注意的是,这个操作需要`android.permission.SET_TIME`权限。另外,`AUTO_TIME`和`AUTO_TIME_ZONE`设置为0表示关闭自动更新时间和时区的功能。为了避免安全问题,这两个设置在Android 6.0及以上版本需要在系统设置中手动开启。
阅读全文