设置 Android 事物时区
Set Android Things time zone
在 Raspberry Pi 上安装 Android 后,时间不正确。我的时区是 GMT+2,使用 date +%Z
我看到 RPi 的时区是 GMT。如何设置时区?
更新(基于Michal Harakal的评论):
自Developer Preview 6 TimeManager
class provides access to device settings related to time (NB! TimeManager
requires <uses-permission android:name="com.google.android.things.permission.SET_TIME" />
). You can use .setTimeZone()
时区设置方法:
private void setupTimeZone(String timeZoneName) {
TimeManager timeManager = TimeManager.getInstance();
timeManager.setTimeZone(timeZoneName);
}
其中 timeZoneName
是 tz database time zones string, e.g. for Kyiv(GMT +2,DST +3)之一:
setupTimeZone("Europe/Kiev");
原回答:
您可以通过 AlarmManager.setTimeZone()
like in this answer of Synesso 从应用程序以编程方式设置它:
AlarmManager am = (AlarmManager)getContext().getSystemService(Context.ALARM_SERVICE);
am.setTimeZone("Europe/Madrid");
在 AndroidManifest.xml
文件中具有 <uses-permission android:name="android.permission.SET_TIME_ZONE"/>
权限。
TimeZone 个名字列表。
我使用这些代码
TimeManager timeManager = TimeManager.getInstance();
timeManager.setTimeFormat(TimeManager.FORMAT_24);
// Set time zone to Eastern Standard Time
//timeManager.setTimeZone("America/New_York");
timeManager.setTimeZone("GMT");
calendar.setTime(date);
long timeStamp = calendar.getTimeInMillis();
timeManager.setTime(timeStamp);
有了这个许可:
com.google.android.things.permission.SET_TIME
在 Raspberry Pi 上安装 Android 后,时间不正确。我的时区是 GMT+2,使用 date +%Z
我看到 RPi 的时区是 GMT。如何设置时区?
更新(基于Michal Harakal的评论):
自Developer Preview 6 TimeManager
class provides access to device settings related to time (NB! TimeManager
requires <uses-permission android:name="com.google.android.things.permission.SET_TIME" />
). You can use .setTimeZone()
时区设置方法:
private void setupTimeZone(String timeZoneName) {
TimeManager timeManager = TimeManager.getInstance();
timeManager.setTimeZone(timeZoneName);
}
其中 timeZoneName
是 tz database time zones string, e.g. for Kyiv(GMT +2,DST +3)之一:
setupTimeZone("Europe/Kiev");
原回答:
您可以通过 AlarmManager.setTimeZone()
like in this answer of Synesso 从应用程序以编程方式设置它:
AlarmManager am = (AlarmManager)getContext().getSystemService(Context.ALARM_SERVICE);
am.setTimeZone("Europe/Madrid");
在 AndroidManifest.xml
文件中具有 <uses-permission android:name="android.permission.SET_TIME_ZONE"/>
权限。
TimeZone 个名字列表。
我使用这些代码
TimeManager timeManager = TimeManager.getInstance();
timeManager.setTimeFormat(TimeManager.FORMAT_24);
// Set time zone to Eastern Standard Time
//timeManager.setTimeZone("America/New_York");
timeManager.setTimeZone("GMT");
calendar.setTime(date);
long timeStamp = calendar.getTimeInMillis();
timeManager.setTime(timeStamp);
有了这个许可: com.google.android.things.permission.SET_TIME