代码之家  ›  专栏  ›  技术社区  ›  Vijayadhas Chandrasekaran

如何更新系统时间和时区?

  •  0
  • Vijayadhas Chandrasekaran  · 技术社区  · 6 年前

    我正在尝试更新系统时区。这是系统应用程序。所以我给了系统应用程序权限。我的代码是

        try {
    
            AlarmManager alarmManager =
                    (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(getSelectedDateFormat(mSelectedDateFormat)
                    .parse(mEtDate.getText() +" "+ mEtTime.getText()));
            alarmManager.setTimeZone(mSpTimeZone.getSelectedItem().toString());
            alarmManager.setTime(calendar.getTimeInMillis());
    
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
    

    在这里,当我一次更新时区和时间时,时间被错误地更新了。如果我单独更新时间,它就会完美地更新。知道我做错了什么吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Rahul Patil    6 年前

    不允许所有系统应用更改时区。

    在应用程序中,确保文件中有以下标记

    LOCAL_PRIVILEGED_MODULE := true
    

    只有system/priv应用程序才允许设置时区。