ContentObserver works fine in android 4.0.4 where it detects changes made in settings app. But when under android 4.3 it doesnt detect the change and the service doesnt start
SettingsContentObserver.java:
public class SettingsContentObserver extends ContentObserver
{
private Context context;
public SettingsContentObserver(Handler handler, Context applicationContext) {
    // TODO Auto-generated constructor stub
    super(handler);
    this.context = applicationContext;
}
@Override
public boolean deliverSelfNotifications()
{
    return super.deliverSelfNotifications();
}
@Override
public void onChange(boolean selfChange)
{
    super.onChange(selfChange);
  System.out.println("Change detected");
  Intent i = new Intent(context, MyService.class);
  context.startService(i);
}
}
MyService.java:
public void onCreate() {
 SettingsContentObserver mSettingsContentObserver = new SettingsContentObserver(new Handler(), getApplicationContext());
        getApplicationContext().getContentResolver().registerContentObserver(android.provider.Settings.System.CONTENT_URI, true, mSettingsContentObserver);
    System.out.println("Observer registered");
}
public void onStart(Intent intent, int startId) {
            System.out.println("Service works");
}
Thanks, Sahil