我有一个Service和PreferenceActivity,允许用户编辑一些首选项.用户完成PreferenceActivity后,我想重新启动服务.
我了解我可以注册onChange侦听器以进行各个首选项更改,但是我不想在每个首选项更改时重新启动服务.当用户完成所有首选项的编辑后,我想这样做.缺少PreferenceActivity中的“立即申请”按钮,我看不到这样做的简单方法.
我在这里缺少基本的东西吗?
谢谢!
解决方法:
在启动PreferenceActivity的Activity中,使用startActivityForResult和onActivityResult来跟踪用户何时完成了PreferenceActivity并在那里重新启动服务.
例如.
无论您在哪里启动PreferenceActivity:
Intent prefIntent = new Intent(this, MyPreferenceActivity.class);
startActivityForResult(prefIntent, PREFS_UPDATED);
稍后在同一活动中:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (resultCode) {
case PREFS_UPDATED:
// restart service
break;
...
}
}