同步更新时间

来源:互联网 发布:mac的解压rar软件 编辑:程序博客网 时间:2024/05/05 21:21
问题探究使用系统广播(BroadcastReceiver)同步更新时间!!!!public class MainActivity extends Activity {private TimeReceiver mTimeReceiver = null;private IntentFilter mTimeFilter = null;private Time mCalendar;private TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv = (TextView) findViewById(R.id.textView1);mCalendar=new Time();String time=getSystemDataE();System.out.println("得到的时间格式:"+time);mTimeReceiver = new TimeReceiver();mTimeFilter = new IntentFilter();mTimeFilter.addAction(Intent.ACTION_TIME_TICK);registerReceiver(mTimeReceiver, mTimeFilter);}public static String getSystemDataE(){SimpleDateFormat date=new SimpleDateFormat(" MM月dd日"+" "+"EEEE");Date currenTime=new Date();currenTime.setTime(System.currentTimeMillis());return date.format(currenTime);}class TimeReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if (intent.getAction().equals(Intent.ACTION_TIMEZONE_CHANGED)) {String tz = intent.getStringExtra("time-zone");mCalendar = new Time(TimeZone.getTimeZone(tz).getID());}onTimeChanged();}private void onTimeChanged() {mCalendar.setToNow();// ///获取手机自身的当前时间,而非实际中的标准的北京时间int hour = mCalendar.hour;// 小时int minute = mCalendar.minute;// 分钟int second = mCalendar.second;// 秒System.out.println("获取的时间:"+hour+" 时"+minute+"分");tv.setText(hour+" 时"+minute+"分");}}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubunregisterReceiver(mTimeReceiver);super.onDestroy();}}


1 0