В Activity
, который запускает PreferenceActivity
, используйте startActivityForResult
и onActivityResult
, чтобы отследить, когда пользователь закончил PreferenceActivity
и перезапустить службу там.
например.
Где бы вы не начали PreferenceActivity
:
Intent prefIntent = new Intent(this, MyPreferenceActivity.class);
startActivityForResult(prefIntent, PREFS_UPDATED);
позже в том же Activity
:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (resultCode) {
case PREFS_UPDATED:
// restart service
break;
...
}
}