|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectandroid.content.ContentProvider
android.support.v4.content.FileProvider
public class FileProvider
Provider to support easy sharing of private files between apps. When paired
with features like Context.grantUriPermission(String, Uri, int) or
Intent.FLAG_GRANT_READ_URI_PERMISSION, this provider ensures that
receiving apps can always open the underlying file.
Apps should generally avoid sending raw filesystem paths across process
boundaries, since the receiving app may not have the same access as the
sender. Instead, apps should send Uri backed by a provider like
FileProvider.
To use this provider, add it to your manifest:
And define one or more filesystem paths your provider should support in an XML resource. This provider will only support files which exist under these defined paths.
Then use getUriForFile(Context, String, File) at runtime to generate
a Uri backed by the provider. Since the provider is not exported,
these Uri can only be accessed by other apps when you explicitly
grant access.
| Constructor Summary | |
|---|---|
FileProvider()
|
|
| Method Summary | |
|---|---|
void |
attachInfo(android.content.Context context,
android.content.pm.ProviderInfo info)
|
int |
delete(android.net.Uri uri,
java.lang.String selection,
java.lang.String[] selectionArgs)
|
java.lang.String |
getType(android.net.Uri uri)
|
static android.net.Uri |
getUriForFile(android.content.Context context,
java.lang.String authority,
java.io.File file)
Return a Uri that provides access to the given File. |
android.net.Uri |
insert(android.net.Uri uri,
android.content.ContentValues values)
|
boolean |
onCreate()
|
android.os.ParcelFileDescriptor |
openFile(android.net.Uri uri,
java.lang.String mode)
|
android.database.Cursor |
query(android.net.Uri uri,
java.lang.String[] projection,
java.lang.String selection,
java.lang.String[] selectionArgs,
java.lang.String sortOrder)
|
int |
update(android.net.Uri uri,
android.content.ContentValues values,
java.lang.String selection,
java.lang.String[] selectionArgs)
|
| Methods inherited from class android.content.ContentProvider |
|---|
bulkInsert, getContext, getPathPermissions, getReadPermission, getWritePermission, isTemporary, onConfigurationChanged, onLowMemory, openAssetFile, openFileHelper, setPathPermissions, setReadPermission, setWritePermission |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public FileProvider()
| Method Detail |
|---|
public boolean onCreate()
onCreate in class android.content.ContentProvider
public void attachInfo(android.content.Context context,
android.content.pm.ProviderInfo info)
attachInfo in class android.content.ContentProvider
public static android.net.Uri getUriForFile(android.content.Context context,
java.lang.String authority,
java.io.File file)
Uri that provides access to the given File. The
returned Uri can be used with features like
Context.grantUriPermission(String, Uri, int) or
Intent.FLAG_GRANT_READ_URI_PERMISSION to allow other apps to
access private files. Providers only support files which exist under
filesystem paths defined in their <meta-data>.
authority - The authority of a FileProvider defined as a
<provider> in your manifest.
java.lang.IllegalArgumentException - When the given File is outside
the paths supported by the provider.
public android.database.Cursor query(android.net.Uri uri,
java.lang.String[] projection,
java.lang.String selection,
java.lang.String[] selectionArgs,
java.lang.String sortOrder)
query in class android.content.ContentProviderpublic java.lang.String getType(android.net.Uri uri)
getType in class android.content.ContentProvider
public android.net.Uri insert(android.net.Uri uri,
android.content.ContentValues values)
insert in class android.content.ContentProvider
public int update(android.net.Uri uri,
android.content.ContentValues values,
java.lang.String selection,
java.lang.String[] selectionArgs)
update in class android.content.ContentProvider
public int delete(android.net.Uri uri,
java.lang.String selection,
java.lang.String[] selectionArgs)
delete in class android.content.ContentProvider
public android.os.ParcelFileDescriptor openFile(android.net.Uri uri,
java.lang.String mode)
throws java.io.FileNotFoundException
openFile in class android.content.ContentProviderjava.io.FileNotFoundException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||