Fix #6, no longer use a ContentObserver to listen for state change. Use BroadcastReceiver instead.