title: Permission Denial: reading com.android.providers.contacts.CallLogProvider
body: <p>I'm getting this exception on a specific phone and carrier: Samsung Galaxy S3 on Verizon. I've tested in an Evo with Sprint and a Galaxy Nexus with AT&amp;T and none give me this error. I'm wondering if the phone carrier has done any modifications to the OS that now requires additional special permissions. I recorded the following stack trace remotely from a customer who has a Galaxy S3:</p>
  
  <p>Stack Trace:</p>
  
  <pre><code>    Permission Denial: reading com.android.providers.contacts.CallLogProvider 
  uri content://call_log/calls from pid=23104, uid=10233 
  requires android.permission.READ_CALL_LOG, or grantUriPermission()
  java.lang.SecurityException: Permission Denial: reading 
  com.android.providers.contacts.CallLogProvider 
  uri content://call_log/calls from pid=23104, uid=10233 
  requires android.permission.READ_CALL_LOG, or grantUriPermission()  
  at android.os.Parcel.readException(Parcel.java:1430)  at 
  android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188)  at 
  android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)  at 
  android.content.ContentProviderProxy.query(ContentProviderNative.java:423)  at 
  android.content.ContentResolver.query(ContentResolver.java:375)  at 
  android.content.ContentResolver.query(ContentResolver.java:318)
  </code></pre>
  
  <p>Manifest:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="xyz"
      android:installLocation="auto"
      android:versionCode="1"
      android:versionName="1" &gt;
  
      &lt;uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /&gt;
      &lt;uses-permission android:name="android.permission.READ_CONTACTS" /&gt;
      &lt;uses-permission android:name="android.permission.READ_PHONE_STATE" /&gt;
      &lt;uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /&gt;
      &lt;uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /&gt;
      &lt;uses-permission android:name="android.permission.CALL_PHONE" /&gt;
      &lt;uses-permission android:name="android.permission.WRITE_CONTACTS" /&gt;
      &lt;uses-permission android:name="android.permission.READ_CALENDAR" /&gt;
      &lt;uses-permission android:name="android.permission.DISABLE_KEYGUARD" /&gt;
      &lt;uses-permission android:name="android.permission.READ_SMS" /&gt;
      &lt;uses-permission android:name="android.permission.WRITE_SMS" /&gt;
      &lt;uses-permission android:name="android.permission.RECEIVE_SMS" /&gt;
      &lt;uses-permission android:name="android.permission.RECEIVE_MMS" /&gt;
      &lt;uses-permission android:name="android.permission.SEND_SMS" /&gt;
      &lt;uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /&gt;
      &lt;uses-permission android:name="android.permission.GET_ACCOUNTS" /&gt;
      &lt;uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /&gt;
      &lt;uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" /&gt;
      &lt;uses-permission android:name="android.permission.RESTART_PACKAGES" /&gt;
      &lt;uses-permission android:name="android.permission.READ_CALL_LOG" /&gt;    
      &lt;uses-permission android:name="android.permission.WRITE_CALL_LOG" /&gt;
      &lt;uses-permission android:name="android.permission.WRITE_SETTINGS" /&gt;
      &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
      &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt;
  
      &lt;uses-sdk android:minSdkVersion="7" android:targetSdkVersion="9"&gt;
      &lt;/uses-sdk&gt;
  </code></pre>