此文章为基础是,应用可以获得系统签名的,如果不能获取的,是不能使用的。
支持 自动和手动设置时间,自动即为获取网络时间,手动即为设置,然后更新时间
setting_dialog = (RelativeLayout) view.findViewById(R.id.setting_dialog);
RelativeLayout setting_dialog; Dialog dialog; private void showTimeCheckDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); LayoutInflater inflater = LayoutInflater.from(getContext()); View mTimeView = inflater.inflate(R.layout.dialog_time, setting_dialog); TextView mTimeDetial = (TextView) mTimeView.findViewById(R.id.time_detial); final TimePicker mTimePick = (TimePicker) mTimeView.findViewById(R.id.time_pick); final DatePicker mDatePick = (DatePicker) mTimeView.findViewById(R.id.date_pick); Button mSaveButton = (Button) mTimeView.findViewById(R.id.save_button); final Button mButtonAuto = (Button) mTimeView.findViewById(R.id.bt_auto); final Button mButton24 = (Button) mTimeView.findViewById(R.id.bt_24); boolean is24 = DateFormat.is24HourFormat(getActivity()); if (is24) { mButton24.setText("24"); mTimePick.setIs24HourView(true); } else { mButton24.setText("12"); mTimePick.setIs24HourView(false); } if(isDateTimeAuto()){ mButtonAuto.setText("自动"); mTimePick.setEnabled(false); mDatePick.setEnabled(false); }else { mTimePick.setEnabled(true); mDatePick.setEnabled(true); mButtonAuto.setText("手动"); } mButtonAuto.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(mButtonAuto.getText().equals("手动")){ mButtonAuto.setText("自动"); mTimePick.setEnabled(false); mDatePick.setEnabled(false); }else { mButtonAuto.setText("手动"); mTimePick.setEnabled(true); mDatePick.setEnabled(true); } } }); mButton24.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mButton24.getText().equals("24")) { mTimePick.setIs24HourView(false); mButton24.setText("12"); } else { mButton24.setText("24"); mTimePick.setIs24HourView(true); } } }); Calendar calendar = Calendar.getInstance(); mDatePick.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), null); mTimePick.setCurrentHour(calendar.get(Calendar.HOUR_OF_DAY)); mTimePick.setCurrentMinute(calendar.get(Calendar.MINUTE)); builder.setNegativeButton(null, null); mSaveButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, mDatePick.getYear()); // 年 c.set(Calendar.MONTH, mDatePick.getMonth()); // 月 c.set(Calendar.DAY_OF_MONTH, mDatePick.getDayOfMonth()); // 日 c.set(Calendar.HOUR_OF_DAY, mTimePick.getCurrentHour()); // 时 c.set(Calendar.MINUTE, mTimePick.getCurrentMinute()); // 分 c.set(Calendar.SECOND, 0); // 秒 if (mButton24.getText().equals("24")) { android.provider.Settings.System.putString(getActivity().getContentResolver(), android.provider.Settings.System.TIME_12_24, "24"); } else { android.provider.Settings.System.putString(getActivity().getContentResolver(), android.provider.Settings.System.TIME_12_24, "12"); } if(mButtonAuto.getText().equals("手动")){ setAutoDateTime(0); setSysDate(mDatePick.getYear(), mDatePick.getMonth(), mDatePick.getDayOfMonth()); setSysTime(mTimePick.getCurrentHour(), mTimePick.getCurrentMinute()); }else { setAutoDateTime(1); } // Log.i("chenjunran", "onClick: "+mDatePick.getYear()+""+mDatePick.getMonth()+1+""+mDatePick.getDayOfMonth()+"."+mTimePick.getCurrentHour()+""+mTimePick.getCurrentMinute()+""+00); // testDate(mDatePick.getYear()+""+mDatePick.getMonth()+1+""+mDatePick.getDayOfMonth()+"."+mTimePick.getCurrentHour()+""+mTimePick.getCurrentMinute()+""+00); dialog.dismiss(); } }); builder.setView(mTimeView); dialog = builder.create(); dialog.show(); }
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/setting_dialog" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.shbst.dndt.MainActivity"> <TextView android:id="@+id/time_detial" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:text="设置" android:textSize="40dp" /> <ImageView android:layout_width="match_parent" android:layout_height="1.5dp" android:layout_marginTop="88dp" android:layout_marginEnd="10dp" android:layout_marginStart="10dp" android:background="#e21aaaba" /> <Button android:id="@+id/bt_24" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_marginEnd="10dp" android:layout_marginTop="100dp" android:background="@drawable/select_24" android:text="24" android:textSize="24dp" /> <Button android:id="@+id/bt_auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_marginEnd="100dp" android:layout_marginTop="100dp" android:background="@drawable/select_24" android:text="自动" android:textSize="24dp" /> <TimePicker android:id="@+id/time_pick" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_marginBottom="30dp" android:layout_marginEnd="10dp" android:layout_marginTop="150dp" android:theme="@android:style/Theme.Holo.Light" /> <DatePicker android:id="@+id/date_pick" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="30dp" android:layout_marginStart="10dp" android:layout_marginTop="150dp" android:calendarViewShown="false" android:theme="@android:style/Theme.Holo.Light" /> <Button android:id="@+id/save_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/date_pick" android:layout_centerHorizontal="true" android:layout_marginBottom="30dp" android:background="@drawable/select_24" android:text="保存" android:textSize="30dp" /> </RelativeLayout>
这是布局文件。