欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

Android闹钟开发实现源代码下载

程序员文章站 2022-03-01 14:38:20
...

前几天一直在研究 AlarmManager 这个东西、由于这个类在小米和魅族等手机上延时的问题、当我发现这个问题的时候、一直还以为是自己代码的问题、一直傻傻的在那里找问题、最后什么问题也没有找到、最后在 miui 的论坛上找到了说可能有延时的问题、后来就找了一个定时闹钟的源代码、结果安装试了一下、在小米等手机下还是有延时的、现在把这个闹钟的源代码分享一下、希望对一些开发朋友有用、下面贴上部分代码


@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	addPreferencesFromResource(R.xml.settings);
}


@Override
protected void onResume() {
	super.onResume();
	refresh();
}


@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
		Preference preference) {
	if (KEY_ALARM_IN_SILENT_MODE.equals(preference.getKey())) {
		CheckBoxPreference pref = (CheckBoxPreference) preference;
		int ringerModeStreamTypes = Settings.System.getInt(
				getContentResolver(),
				Settings.System.MODE_RINGER_STREAMS_AFFECTED, 0);

		if (pref.isChecked()) {
			ringerModeStreamTypes &= ~ALARM_STREAM_TYPE_BIT;
		} else {
			ringerModeStreamTypes |= ALARM_STREAM_TYPE_BIT;
		}

		Settings.System.putInt(getContentResolver(),
				Settings.System.MODE_RINGER_STREAMS_AFFECTED,
				ringerModeStreamTypes);

		return true;
	}

	return super.onPreferenceTreeClick(preferenceScreen, preference);
}


public boolean onPreferenceChange(Preference pref, Object newValue) {
	final ListPreference listPref = (ListPreference) pref;
	final int idx = listPref.findIndexOfValue((String) newValue);
	listPref.setSummary(listPref.getEntries()[idx]);
	return true;
}


private void refresh() {
	final CheckBoxPreference alarmInSilentModePref = (CheckBoxPreference) 
		findPreference(KEY_ALARM_IN_SILENT_MODE);
	final int silentModeStreams = Settings.System.getInt(
		getContentResolver(),
		Settings.System.MODE_RINGER_STREAMS_AFFECTED, 0);
	alarmInSilentModePref
		.setChecked((silentModeStreams & ALARM_STREAM_TYPE_BIT) == 0);

	final ListPreference snooze = (ListPreference) 
		findPreference(KEY_ALARM_SNOOZE);
	snooze.setSummary(snooze.getEntry());
	snooze.setOnPreferenceChangeListener(this);
}


代码就贴到这里、上面所有代码都是启动界面的代码的部分代码、话不多说、下面直接给下载链接

源代码链接: http://dwtedx.com/download.html?bdkey=s/1i3Bt2WP 密码: tv5c