Widget with content provider; impossible to use ReadPermission?

I was able to find the answer here, credit goes to Kostya Vasilyev.

While the context is actually correct, it is bound to the wrong process.

So the key is to do this:

public void onDataSetChanged() {
     // Revert back to our process' identity so we can work with our
     // content provider
     final long identityToken = Binder.clearCallingIdentity();

     // Update your cursor or whatever here
     // ...

     // Restore the identity - not sure if it's needed since we're going
     // to return right here, but it just *seems* cleaner
     Binder.restoreCallingIdentity(identityToken);
}