I have two applications which use the same content provider, but I can\'t put the same content provider in both applications- it shows INSTALL_FAILED_CONFLICTING_PROVIDER er
One solution i can think of is, make content provider part of both the applications with different packageid's internally.and export it using android:exported = true. Both might be using the same code though.
At the start of the application you check if the other content provider exists on the device if it's there you start using it,otherwise you fallback to local content provider. when the other applicaton installs it can does the same check.
To protect your cotent provider from everyone else, you can define a custom permission to protect it, so that your applications can only use it or you can also put some custom authentication like some secret key to access the content provider. you can have this authentication code in all methods of content provider.
You can solve it by changing the value of android:authorities
in your AndroidManifest.xml
file. The reason for the error is that another application installed on your device already uses that same value for android:authorities
.
It means your phone already has provider with same authorities, registered by different application(could be your other example).Change your provider authorities i.e. android:authorities
and your are good to go.
You use one unic data like Facebook API registration numer or something like it in your manifest file (AndroidManifest.xml) for both programs: for which already installed and for that you try and cant install. You need:
android:authorities="com.facebook.app.FacebookContentProvider23473465463573466" android:name="com.facebook.FacebookContentProvider" android:exported="true"/>
To solve this error: Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER
change the value of android:authorities
in your AndroidManifest.xml file another application installed on your device already uses that same value for android:authorities.