Android中系统设置参数改变监听(以时间同步为例)
2013-05-11 10:51
561 查看
![](http://images.cnitblog.com/blog/299408/201305/11105118-4408d3920ccc480d8217b13434acc366.gif)
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; /** Called when the activity is first created. */ @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) { // TODO Auto-generated method stub 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) { // TODO Auto-generated method stub 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) { // TODO Auto-generated method stub 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()); }
相关文章推荐
- Android中系统设置参数改变监听(以时间同步为例)
- Android中系统设置参数改变监听(以时间同步为例)
- Android TextClock获取系统时间,格式跟随设置改变
- Android TextClock获取系统时间,格式跟随设置改变
- 使用ADB更改系统设置中的参数 如背光亮度、休眠时间等
- CentOS下系统时间同步和时区的修改和设置
- Android 通过应用程序来设置系统的日期和时间中的
- linux系统时间的同步设置
- ubuntu设置系统时间与网络时间同步
- android 监听系统时区变化,日期变化,时间变化
- linux操作系统系统和时间同步设置
- Android系统时间同步(转)
- centos7 设置系统时间与网络同步
- android 调用系统自带的设置时间日期对话框
- 设置LINUX系统时间的更新同步
- Windows7系统设置自动同步系统时间图文教程
- Android系统时间同步机制
- Centos设置系统时间与网络时间同步
- android程序开发-如何让程序的字体不随系统字体的设置而改变
- CentOS设置系统时间与网络时间同步