title: What is cursor.setNotificationUri() used for?
body: <p>I did research on how to use <code>ContentProviders</code> and Loaders from <a href="http://www.vogella.com/tutorials/AndroidSQLite/article.html#todo_contentprovider" rel="noreferrer">this tutorial</a></p>
  
  <p>How I see it:
  We have an <code>Activity</code> with <code>ListView</code>, <code>SimpleCursorAdapter</code> and <code>CursorLoader</code>. We also implement <code>ContentProvider</code>.</p>
  
  <p>In an <code>Activity</code> we can call <code>getContentResolver().insert(URI, contentValues);</code> via a button click.</p>
  
  <p>In our implementation of <code>ContentProvider</code>, at the end of <code>insert()</code> method, we call <code>getContentResolver().notifyChange(URI, null);</code> and our <code>CursorLoader</code> will receive message that it should reload data and update UI. Also if we use <code>FLAG_REGISTER_CONTENT_OBSERVER</code> in <code>SimpleCursorAdapter</code> it will also receive message and its method <code>onContentChanged()</code> will be called. </p>
  
  <p>So our ListView will be updated if we insert, update or delete data.</p>
  
  <p><code>Activity.startManagingCursor(cursor);</code> is deprecated, <code>cursor.requery()</code> deprecated, so I do not see any practice sense from  <code>cursor.setNotificationUri()</code>.</p>
  
  <p>I looked into <code>setNotificationUri()</code> method's source code and saw that it calls <code>mContentResolver.registerContentObserver(mNotifyUri, true, mSelfObserver)</code> inside the method. Also <code>CursorLoader</code> does the same. Finally cursor will receive message and the following method will be called inside Cursor:</p>
  
  <pre><code>protected void onChange(boolean selfChange) {
      synchronized (mSelfObserverLock) {
          mContentObservable.dispatchChange(selfChange, null);
          // ...
      }
  }
  </code></pre>
  
  <p>But I can not make sense of this.</p>
  
  <p>So my question is: <strong>why should we call <code>cursor.setNotificationUri()</code> in <code>query()</code> method of our <code>ContentProvider</code> implementation?</strong></p>