Android提供了一个名为"SET_TIME_ZONE"的权限,其操作系统权限级别为"危险".有没有人知道给定具有此权限的应用程序,应用程序如何设置时区?
谢谢.
您可以通过多种方式设置时区:
您可以使用TimeZone.setDefault(),它只会更改当前进程的时区。但正如文档中所指出的,这并不能保证在整个应用程序生命周期内都可以持续。
你可以使用setTimeZone()的AlarmManager改变整个设备的时区。但是您需要“SET_TIME_ZONE”权限。
如果您认为 1. 是危险的并且您没有 2. 的许可,那么您最好的方法是从日历中获取每个日期并通过setTimeZone()在您的日历实例上设置时区。
Luc*_*fer -1
要以编程方式设置时区,您需要使用日期类。请参阅此处的参考文档。
需要使用ClasssetTimeZone()的方法SimpleDateFormat。
以下是设置美国时区的示例代码
// First Create Object of Calendar Class
Calendar calendar = Calendar.getInstance();
// Now Set the Date using DateFormat Class
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss z");
// Finally Set the time zone using SimpleDateFormat Class's setTimeZone() Method
sdf.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15718 次 |
| 最近记录: |