Source code:
- package com.inanwong.main;
-
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
- import android.app.Activity;
- import android.database.ContentObserver;
- import android.os.Bundle;
- import android.os.Handler;
- import android.provider.Settings;
- import android.util.Log;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.TextView;
-
- public class MainActivity extends Activity {
-
- private static final String TAG = "MainActivity";
-
- private static final int ON = 1;
- private static final int OFF = 0;
-
- private Button mbtnGetStatus;
- private Button mbtnAutoTime;
- private Button mbtnAutoTimeListen;
- private TextView mtvInfo;
-
-
-
-
- private boolean isListening = false;
-
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- mtvInfo = (TextView) findViewById(R.id.multiAutoCompleteTextView1);
- mtvInfo.setText("");
-
- mbtnGetStatus = (Button) findViewById(R.id.button1);
- mbtnGetStatus.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View v) {
-
- int nAutoTimeStatus = Settings.System.getInt(
- getContentResolver(), Settings.System.AUTO_TIME, OFF);
- OutPrintLog("当前时间同步状态:" + nAutoTimeStatus);
- }
- });
-
- mbtnAutoTime = (Button) findViewById(R.id.button2);
- mbtnAutoTime.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View v) {
-
-
- int nAutoTimeStatus = Settings.System.getInt(
- getContentResolver(), Settings.System.AUTO_TIME, OFF);
-
- Settings.System.putInt(getContentResolver(),
- Settings.System.AUTO_TIME, nAutoTimeStatus == OFF ? ON
- : OFF);
-
- Refresh();
- }
- });
-
- mbtnAutoTimeListen = (Button) findViewById(R.id.button3);
- mbtnAutoTimeListen.setOnClickListener(new OnClickListener() {
- private ContentObserver mAutoTimeObserver = new ContentObserver(
- new Handler()) {
- @Override
- public void onChange(boolean selfChange) {
- Log.i(TAG, "Auto time state changed");
- int nAutoTimeStatus = Settings.System.getInt(
- getContentResolver(), Settings.System.AUTO_TIME,
- OFF);
- OutPrintLog("当前时间同步状态:" + nAutoTimeStatus);
- }
- };
-
- @Override
- public void onClick(View v) {
-
- if (!isListening) {
- getApplication()
- .getContentResolver()
- .registerContentObserver(
- Settings.System
- .getUriFor(Settings.System.AUTO_TIME),
- true, mAutoTimeObserver);
- } else {
- getApplicationContext().getContentResolver()
- .unregisterContentObserver(this.mAutoTimeObserver);
-
- }
- isListening = !isListening;
- Refresh();
- }
- });
-
- Refresh();
-
- }
-
- private void Refresh() {
-
- int nAutoTimeStatus = Settings.System.getInt(getContentResolver(),
- Settings.System.AUTO_TIME, OFF);
-
- mbtnAutoTime
- .setText(nAutoTimeStatus == OFF ? R.string.app_autotime_start
- : R.string.app_autotime_end);
-
- mbtnAutoTimeListen
- .setText(isListening ? R.string.app_autotimelisten_end
- : R.string.app_autotimelisten_start);
-
- }
-
- private void OutPrintLog(CharSequence text) {
-
- mtvInfo.setText((mtvInfo.getText()).toString()
- + new SimpleDateFormat("\n mm:ss").format(new Date())
- + text.toString());
- }
- }
|