title: Cursor move to position is not in sync
body: <p>I have a cursor, loaded during onCreate of Service. I have a getter for the cursor. </p>
  
  <p>When it's time to move the cursor to a position, I call,</p>
  
  <pre><code>Log.e(TAG, "try moving to pos " + String.valueOf(position));
  if(getCursor().moveToPosition(position)){
      setCursorPosition();
      if(getCursorPosition() == getCursor().getPosition())
          Log.e(TAG,"\t\t Moved to position \t\t");
      sendBroadcast(new Intent(intentAction));
  }
  </code></pre>
  
  <p>In Broadcst receiver, i receive the broadcast, and manipulate the cursor to update some UI elements</p>
  
  <pre><code>@Override
          public void onReceive(Context context, Intent intent) {
          if(intent.getAction() == intentAction){
              Log.e(TAG,"currentTitlefrom cursor:"+MyService.getCursor().getPosition()+": :"+currentTitle);
              ... //ui updates here
              }
          }
  </code></pre>
  
  <p>In Log, i see</p>
  
  <pre><code>08-13 03:10:10.920: E/MyService(19548): try moving to pos 3
  08-13 03:10:10.940: E/MyService(19548):         Moved to postion    
  08-13 03:10:24.620: E/MainActivity(19548): currentTitlefrom cursor:2: :American Woman
  </code></pre>
  
  <p>Actually, the actual cursor is moved to position i wanted. I am sure of it because my service works as expected. but the main activity reports the only previous position, i.e.,the change is not synchronously reflected .</p>
  
  <p>How to solve this??</p>
  
  <p><strong>Note: 1</strong> getCursor is a static function returning a static <code>Cursor</code> element</p>
  
  <p><strong>Note: 2</strong> MyService runs on Main UI Thread, not on different thread. Hence both <code>getCursor().moveToPosition(position)</code> and <code>MyService.getCursor().getPosition()</code> runs on UI thread only.</p>
  
  <hr>
  
  <p><strong>EDIT</strong> : My app model is </p>
  
  <blockquote>
    <p>UI never changes cursor position, it just reads the cursor</p>
  </blockquote>