Android:偏好变更后,服务会重新启动

我有一个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;
        ...
    }
}
上一篇:在不中断用户的情况下重启MySQL服务器


下一篇:node工具之pm2