我已经设置了一个首选项界面,其中我有一个列表首选项,允许用户选择通知他们的时间间隔。他们可以选择每2、4、8、10或12小时通知一次。以下是我的列表首选项:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<ListPreference
android:title="Notification Timer"
android:summary="Select when to Notify"
android:dialogTitle="Show Notification after every:"
android:positiveButtonText="OK"
android:negativeButtonText="Cancel"
android:entries="@array/entries"
android:entryValues="@array/entries"
android:key="listPrefs" />
</PreferenceScreen>
这是我的Settings.class 文件:
public class Settings extends PreferenceActivity implements OnPreferenceChangeListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
ListPreference listPreference = (ListPreference) findPreference("listPrefs");
listPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
return false;
}
});
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
// TODO Auto-generated method stub
return false;
}
}
我希望在用户更改通知时间间隔时更新或重置警报。例如,如果用户选择4个小时,则必须在4个小时后通知他/她;如果用户选择10个小时,则必须在10个小时后通知他/她!
AlarmManager
文档。如果你在使用API时遇到了特定问题或应用崩溃,请提供更多信息。 - Larry Schiefer