title: Access UserDictionary Content Provider on android API level 23
body: <p>I'm developing a android application which aims to show a list on the screen with the contents present in the user dictionary.</p>
  
  <p>The problem is that when I compile and run the application in the Android API Level 23 Content Provider return a Cursor with no item, without any data.</p>
  
  <p>It's strange because the API's preceding 23 (22, 21, 19, ...) the app runs and displays the data in the ListView normally.</p>
  
  <p>Below is the code of my Activity:</p>
  
  <pre><code>import android.app.LoaderManager;
  import android.content.CursorLoader;
  import android.content.Loader;
  import android.database.Cursor;
  import android.provider.UserDictionary;
  import android.os.Bundle;
  import android.widget.ListView;
  import android.widget.SimpleCursorAdapter;
  import android.widget.Toast;
  
  public class MainActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks&lt;Cursor&gt; {
  
  private ListView listView;
  private SimpleCursorAdapter adapter;
  private static final String[] COLUMNS = {
          UserDictionary.Words.WORD,
          UserDictionary.Words._ID,
          UserDictionary.Words.LOCALE
  };
  
  private static final int[] LIST_ITEM_VIEWS = {
          R.id.name,
          R.id.id_word,
          R.id.locale
  };
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      listView = (ListView) findViewById(R.id.list);
  
      adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.item_list, null, COLUMNS, LIST_ITEM_VIEWS, 0);
  
      listView.setAdapter(adapter);
  
      getLoaderManager().initLoader(0, null, this);
  
  }
  
  @Override
  public Loader&lt;Cursor&gt; onCreateLoader(int id, Bundle args) {
      return new CursorLoader(getApplicationContext(), UserDictionary.Words.CONTENT_URI, COLUMNS,
              null, null, UserDictionary.Words.WORD);
  }
  
  @Override
  public void onLoadFinished(Loader&lt;Cursor&gt; loader, Cursor data) {
      adapter.swapCursor(data);
  
  }
  
  @Override
  public void onLoaderReset(Loader&lt;Cursor&gt; loader) {
      adapter.swapCursor(null);
  }
  }
  </code></pre>