Android APIs
public final class

ProviderInfo

extends ComponentInfo
implements Parcelable
java.lang.Object
   ↳ android.content.pm.PackageItemInfo
     ↳ android.content.pm.ComponentInfo
       ↳ android.content.pm.ProviderInfo

Class Overview

Holds information about a specific content provider. This is returned by PackageManager.resolveContentProvider().

Summary

Constants
int FLAG_SINGLE_USER Bit in flags: If set, a single instance of the provider will run for all users on the device.
[Expand]
Inherited Constants
From interface android.os.Parcelable
Fields
public static final Creator<ProviderInfo> CREATOR
public String authority The name provider is published under content://
public int flags Options that have been set in the provider declaration in the manifest.
public boolean grantUriPermissions If true, additional permissions to specific Uris in this content provider can be granted, as per the grantUriPermissions attribute.
public int initOrder Used to control initialization order of single-process providers running in the same process.
public boolean isSyncable This field was deprecated in API level 5. This flag is now being ignored. The current way to make a provider syncable is to provide a SyncAdapter service for a given provider/account type.
public boolean multiprocess If true, this content provider allows multiple instances of itself to run in different process.
public PathPermission[] pathPermissions If non-null, these are path-specific permissions that are allowed for accessing the provider.
public String readPermission Optional permission required for read-only access this content provider.
public PatternMatcher[] uriPermissionPatterns If non-null, these are the patterns that are allowed for granting URI permissions.
public String writePermission Optional permission required for read/write access this content provider.
[Expand]
Inherited Fields
From class android.content.pm.ComponentInfo
From class android.content.pm.PackageItemInfo
Public Constructors
ProviderInfo()
ProviderInfo(ProviderInfo orig)
Public Methods
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
void dump(Printer pw, String prefix)
String toString()
Returns a string containing a concise, human-readable description of this object.
void writeToParcel(Parcel out, int parcelableFlags)
[Expand]
Inherited Methods
From class android.content.pm.ComponentInfo
From class android.content.pm.PackageItemInfo
From class java.lang.Object
From interface android.os.Parcelable

Constants

public static final int FLAG_SINGLE_USER

Added in API level 17

Bit in flags: If set, a single instance of the provider will run for all users on the device. Set from the singleUser attribute.

Constant Value: 1073741824 (0x40000000)

Fields

public static final Creator<ProviderInfo> CREATOR

Added in API level 1

public String authority

Added in API level 1

The name provider is published under content://

public int flags

Added in API level 17

Options that have been set in the provider declaration in the manifest. These include: FLAG_SINGLE_USER.

public boolean grantUriPermissions

Added in API level 1

If true, additional permissions to specific Uris in this content provider can be granted, as per the grantUriPermissions attribute.

public int initOrder

Added in API level 1

Used to control initialization order of single-process providers running in the same process. Higher goes first.

public boolean isSyncable

Added in API level 1

This field was deprecated in API level 5.
This flag is now being ignored. The current way to make a provider syncable is to provide a SyncAdapter service for a given provider/account type.

Whether or not this provider is syncable.

public boolean multiprocess

Added in API level 1

If true, this content provider allows multiple instances of itself to run in different process. If false, a single instances is always run in processName.

public PathPermission[] pathPermissions

Added in API level 4

If non-null, these are path-specific permissions that are allowed for accessing the provider. Any permissions listed here will allow a holding client to access the provider, and the provider will check the URI it provides when making calls against the patterns here.

public String readPermission

Added in API level 1

Optional permission required for read-only access this content provider.

public PatternMatcher[] uriPermissionPatterns

Added in API level 1

If non-null, these are the patterns that are allowed for granting URI permissions. Any URI that does not match one of these patterns will not allowed to be granted. If null, all URIs are allowed. The PackageManager.GET_URI_PERMISSION_PATTERNS flag must be specified for this field to be filled in.

public String writePermission

Added in API level 1

Optional permission required for read/write access this content provider.

Public Constructors

public ProviderInfo ()

Added in API level 1

public ProviderInfo (ProviderInfo orig)

Added in API level 1

Public Methods

public int describeContents ()

Added in API level 1

Describe the kinds of special objects contained in this Parcelable's marshalled representation.

Returns
  • a bitmask indicating the set of special object types marshalled by the Parcelable.

public void dump (Printer pw, String prefix)

Added in API level 19

public String toString ()

Added in API level 1

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

   getClass().getName() + '@' + Integer.toHexString(hashCode())

See Writing a useful toString method if you intend implementing your own toString method.

Returns
  • a printable representation of this object.

public void writeToParcel (Parcel out, int parcelableFlags)

Added in API level 1