Android 系统(194)---Android实践 -- 设置系统日期时间和时区 Android实践 -- 设置系统日期时间和时区

Android实践 -- 设置系统日期时间和时区

转自:https://www.cnblogs.com/Free-Thinker/p/6627813.html

设置系统日期时间和时区

设置系统的日期时间和时区,需要 系统权限和系统签名android:sharedUserId="android.uid.system"
需要在manifest文件中添加相应的权限

  1. <uses-permission android: name="android.permission.WRITE_SETTINGS"/>
  2. <uses-permission android: name="android.permission.WRITE_SECURE_SETTINGS"/>
  • 判断系统使用的是24小时制还是12小时制

    boolean is24Hour =  DateFormat.is24HourFormat(mContext);
  • 设置系统的小时制

24小时制

  1. android.provider.Settings.System.putString(mContext.getContentResolver(),
  2. android.provider.Settings.System.TIME_12_24, "24");

12小时制

  1. android.provider.Settings.System.putString(mContext.getContentResolver(),
  2. android.provider.Settings.System.TIME_12_24, "12");
  • 判断系统的时区是否是自动获取的

    1. public boolean isTimeZoneAuto(){
    2. try {
    3. return android.provider.Settings.Global.getInt(mContext.getContentResolver(),
    4. android.provider.Settings.Global.AUTO_TIME_ZONE) > 0;
    5. } catch (SettingNotFoundException e) {
    6. e.printStackTrace();
    7. return false;
    8. }
    9. }
  • 设置系统的时区是否自动获取

    1. public void setAutoTimeZone(int checked){
    2. android.provider.Settings.Global.putInt(mContext.getContentResolver(),
    3. android.provider.Settings.Global.AUTO_TIME_ZONE, checked);
    4. }
  • 判断系统的时间是否自动获取的

    1. public boolean isDateTimeAuto(){
    2. try {
    3. return android.provider.Settings.Global.getInt(mContext.getContentResolver(),
    4. android.provider.Settings.Global.AUTO_TIME) > 0;
    5. } catch (SettingNotFoundException e) {
    6. e.printStackTrace();
    7. return false;
    8. }
    9. }
  • 设置系统的时间是否需要自动获取

    1. public void setAutoDateTime(int checked){
    2. android.provider.Settings.Global.putInt(mContext.getContentResolver(),
    3. android.provider.Settings.Global.AUTO_TIME, checked);
    4. }
  • 设置系统日期

    参考系统Settings中的源码

    1. public void setSysDate(int year,int month,int day){
    2. Calendar c = Calendar.getInstance();
    3. c.set(Calendar.YEAR, year);
    4. c.set(Calendar.MONTH, month);
    5. c.set(Calendar.DAY_OF_MONTH, day);
    6. long when = c.getTimeInMillis();
    7. if(when / 1000 < Integer.MAX_VALUE){
    8. ((AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE)).setTime(when);
    9. }
    10. }
  • 设置系统时间

    参考系统Settings中的源码

    1. public void setSysTime(int hour,int minute){
    2. Calendar c = Calendar.getInstance();
    3. c.set(Calendar.HOUR_OF_DAY, hour);
    4. c.set(Calendar.MINUTE, minute);
    5. c.set(Calendar.SECOND, 0);
    6. c.set(Calendar.MILLISECOND, 0);
    7. long when = c.getTimeInMillis();
    8. if(when / 1000 < Integer.MAX_VALUE){
    9. ((AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE)).setTime(when);
    10. }
    11. }
  • 设置系统时区

    1. public void setTimeZone(String timeZone){
    2. final Calendar now = Calendar.getInstance();
    3. TimeZone tz = TimeZone.getTimeZone(timeZone);
    4. now.setTimeZone(tz);
    5. }
  • 获取系统当前的时区

    1. public String getDefaultTimeZone(){
    2. return TimeZone.getDefault().getDisplayName();

转自:https://www.cnblogs.com/Free-Thinker/p/6627813.html

设置系统日期时间和时区

设置系统的日期时间和时区,需要 系统权限和系统签名android:sharedUserId="android.uid.system"
需要在manifest文件中添加相应的权限

  1. <uses-permission android: name="android.permission.WRITE_SETTINGS"/>
  2. <uses-permission android: name="android.permission.WRITE_SECURE_SETTINGS"/>
  • 判断系统使用的是24小时制还是12小时制

    boolean is24Hour =  DateFormat.is24HourFormat(mContext);
  • 设置系统的小时制

24小时制

  1. android.provider.Settings.System.putString(mContext.getContentResolver(),
  2. android.provider.Settings.System.TIME_12_24, "24");

12小时制

  1. android.provider.Settings.System.putString(mContext.getContentResolver(),
  2. android.provider.Settings.System.TIME_12_24, "12");
  • 判断系统的时区是否是自动获取的

    1. public boolean isTimeZoneAuto(){
    2. try {
    3. return android.provider.Settings.Global.getInt(mContext.getContentResolver(),
    4. android.provider.Settings.Global.AUTO_TIME_ZONE) > 0;
    5. } catch (SettingNotFoundException e) {
    6. e.printStackTrace();
    7. return false;
    8. }
    9. }
  • 设置系统的时区是否自动获取

    1. public void setAutoTimeZone(int checked){
    2. android.provider.Settings.Global.putInt(mContext.getContentResolver(),
    3. android.provider.Settings.Global.AUTO_TIME_ZONE, checked);
    4. }
  • 判断系统的时间是否自动获取的

    1. public boolean isDateTimeAuto(){
    2. try {
    3. return android.provider.Settings.Global.getInt(mContext.getContentResolver(),
    4. android.provider.Settings.Global.AUTO_TIME) > 0;
    5. } catch (SettingNotFoundException e) {
    6. e.printStackTrace();
    7. return false;
    8. }
    9. }
  • 设置系统的时间是否需要自动获取

    1. public void setAutoDateTime(int checked){
    2. android.provider.Settings.Global.putInt(mContext.getContentResolver(),
    3. android.provider.Settings.Global.AUTO_TIME, checked);
    4. }
  • 设置系统日期

    参考系统Settings中的源码

    1. public void setSysDate(int year,int month,int day){
    2. Calendar c = Calendar.getInstance();
    3. c.set(Calendar.YEAR, year);
    4. c.set(Calendar.MONTH, month);
    5. c.set(Calendar.DAY_OF_MONTH, day);
    6. long when = c.getTimeInMillis();
    7. if(when / 1000 < Integer.MAX_VALUE){
    8. ((AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE)).setTime(when);
    9. }
    10. }
  • 设置系统时间

    参考系统Settings中的源码

    1. public void setSysTime(int hour,int minute){
    2. Calendar c = Calendar.getInstance();
    3. c.set(Calendar.HOUR_OF_DAY, hour);
    4. c.set(Calendar.MINUTE, minute);
    5. c.set(Calendar.SECOND, 0);
    6. c.set(Calendar.MILLISECOND, 0);
    7. long when = c.getTimeInMillis();
    8. if(when / 1000 < Integer.MAX_VALUE){
    9. ((AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE)).setTime(when);
    10. }
    11. }
  • 设置系统时区

    1. public void setTimeZone(String timeZone){
    2. final Calendar now = Calendar.getInstance();
    3. TimeZone tz = TimeZone.getTimeZone(timeZone);
    4. now.setTimeZone(tz);
    5. }
  • 获取系统当前的时区

    1. public String getDefaultTimeZone(){
    2. return TimeZone.getDefault().getDisplayName();

猜你喜欢

转载自blog.csdn.net/zhangbijun1230/article/details/81063935
今日推荐