Per the documentation the Content Provider authority must be unique
and describes nothing about the name needing to be unique.

A Content Provider works fine in a library if it is the only
application on the device with the library installed.

The behavior I see with multiple apps when pointing the name to a
library class is that the query will always hit the Content Provider
in a single apk.  I see the other Content Providers in the cursor
object that comes back, but it only invokes the Content Provider in
only a single apk.  This is easy to reproduce in Android 2.2 and
2.3.4, I have not tried other versions.

A simple workaround I found was to have the applications include an
empty class that extends the library Content Provider and point the
Content Provider name to this emtpy class.  This works fine, however,
it is unfortunate that clients calling the library must have this
empty class.  My guess is there are some namespace issues.  Is there
some other object within the Context object I can flush/reset?

In case your wondering how the library queries the Content Providers,
it grabs a list of Content Providers on the device and matches a
common prefix on the authority.  Then I have a signature matching
permission to enforce all communication occurs between applications of
the same signature.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to