android修改系统时区

动态注册广播接收器必须有实例存在

设置系统时区:

AlarmManager mAlarmManager =
(AlarmManager)getSystemService(Context.ALARM_SERVICE);

mAlarmManager.setTimeZone("GMT+08:00");

设置时区需要在manifest.xml中增加如下权限:

<!--
允许设置时区-->

<uses-permission
android:name="android.permission.SET_TIME_ZONE"
/>

package com.lzh.modeify;

import java.util.Calendar;
import java.util.Timer;

import android.R.integer;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.util.Log;

public class ZoneService extends Service {
    private static final String ACTION_DATE_CHANGED = Intent.ACTION_DATE_CHANGED;
    private static final String ACTION_TIME_CHANGED = Intent.ACTION_TIME_CHANGED;

private BroadcastReceiver TimerChangered = new BroadcastReceiver() {

@Override
        public void onReceive(Context context, Intent intent) {

Calendar c = Calendar.getInstance();// 可以对每个时间域单独修改

//            int year = c.get(Calendar.YEAR);
//            int month = c.get(Calendar.MONTH);
//            int date = c.get(Calendar.DATE);
            int hour = c.get(Calendar.HOUR_OF_DAY);
            int minute = c.get(Calendar.MINUTE);
            int second = c.get(Calendar.SECOND);

Log.v("time", Integer.toString(hour)+Integer.toString(minute)+Integer.toString(second));
        }
    };

private BroadcastReceiver stopServiceReceiver = new BroadcastReceiver() {

public void onReceive(android.content.Context context, Intent intent) {
            ZoneService.this.stopSelf();
            ZoneService.this.unregisterReceiver(stopServiceReceiver);
        };
    };

@Override
    public void onCreate() {

super.onCreate();
        Log.i("liujun", "后台进程被创建。。。");
        IntentFilter intentFilter = new IntentFilter("closeService");
        ZoneService.this.registerReceiver(stopServiceReceiver, intentFilter);
        // 服务启动广播接收器,使得广播接收器可以在程序退出后在后天继续执行,接收系统时间变更广播事件

ZoneService.this.registerReceiver(TimerChangered, new IntentFilter(
                Intent.ACTION_TIME_TICK));

}

@Override
    public int onStartCommand(Intent intent, int flags, int startId) {

Log.i("liujun", "后台进程。。。");
        return super.onStartCommand(intent, flags, startId);

}

@Override
    public void onDestroy() {

Log.i("liujun", "后台进程被销毁了。。。");
        super.onDestroy();
    }

@Override
    public IBinder onBind(Intent intent) {
        // TODO 自动生成的方法存根
        return null;
    }

}

MainActivity.this.sendBroadcast(new Intent("closeService"));

MainActivity.this.startService(new Intent(MainActivity.this,ZoneService.class));

时间: 2024-10-06 09:45:24

android修改系统时区的相关文章

Linux下查看/修改系统时区、时间

一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方法 A 命令 : "tzselect" 方法 B 仅限于RedHat Linux 和 CentOS 命令 : "timeconfig" 方法 C 适用于Debian 命令 : "dpkg-reconfigure tzdata" 3. 复制相应的时区文件,替换系统时区文件:或者创建链接文件 cp /usr/sh

Redhat/CentOS 6.x修改系统时区

一,需求分析说明 由于项目游戏发行海外版本,游戏里的活动需要按海外时间进行,而海外阿里云主机默认是以东8区北京时间计时,故需要更改时区和时间! 二,修改linux系统时区 1,修改默认时区 #ln -sf /usr/share/zoneinfo/Europe/London /etc/timezone 2,选择时区 #tzselect 运行命令会出现交互提示,以欧洲伦敦为例 [[email protected]]# tzselectPlease identify a location so tha

linux修改系统时区

这是我在集群web系统中遇到的问题(4台web服务器的时间不同而导致,分发不均造成系统老断开),这里我也制作内网的ntpdate时间同步服务器,同步时老差8个小时. 这是由于安装系统时采用了UTC,那么什么是UTC呢,简单的说UTC就是0时区的时间,是国际标准,而中国处于UTC+8时区. 另外还有一种时间是当地时间,而windows采用的就是当地时间.所以安装linux系统时,不要选择使用UTC. 修改系统时间. linux系统时钟有两个,一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置

Centso7 修改系统时区

一.查看系统时区 timedatectl | grep "Time zone" 二.修改时区1.删除文件rm -rf /etc/localtime2.重新链接文件ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 三.查看结果timedatectl | grep "Time zone" 原文地址:http://blog.51cto.com/10746498/2115212

Centos7修改系统时区timezone

第一步:查询服务器时间 [[email protected] ~]# timedatectl Local time: Sat 2018-03-31 01:11:46 UTC Universal time: Sat 2018-03-31 01:11:46 UTC RTC time: Sat 2018-03-31 01:11:36 Time zone: Universal (UTC, +0000) NTP enabled: yes NTP synchronized: yes RTC in local

Android 修改系统默认盘符名称

1.修改路径:frameworks/av/media/mtp/MtpServer.cpp 2.修改方法: MtpResponseCode MtpServer::doGetDeviceInfo() { mData.putString(string); // Manufacturer property_get("ro.product.model", prop_value, "MTP Device"); - string.set(prop_value); + string

修改ubuntu系统时区

ubuntu默认时区是Etc/UTC,和我们的北京时间相差8个时区,需要修改系统的时区,以下有两种简单方式修改系统时区: 1.修改/etc/timezone文件 vi /etc/timezone 把Etc/UTC改成Asia/Shanghai,然后保存(:wq),重启机器. 2.使用命令行交互界面修改. sudo dpkg-reconfigure tzdata 选择相应的时区.

Linux永久修改系统时间和时区方法

修改时区: 1> 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai 用这个文件替换当前的/etc/localtime文件. 或者找你认为是标准时间的服务器,然后 #scp [email protected]:/etc/localtime /etc/localtime 2> 修改/etc/sysconfig/clock文件,修改为: ZONE="Asia/Shanghai" UTC=false ARC=false 临时方法: TZ='As

Linux如何修改系统时间和时区方法

修改时区: 1> 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai 用这个文件替换当前的/etc/localtime文件. 或者找你认为是标准时间的服务器,然后 #scp [email protected]:/etc/localtime /etc/localtime 2> 修改/etc/sysconfig/clock文件,修改为: ZONE="Asia/Shanghai" UTC=false ARC=false 修改日期时间: 1>