Main entry point to APIs for Android instant apps.
Example use:
InstantAppsClient client = InstantApps.getInstantAppsClient(context);
Task<ParcelFileDescriptor> fileTask = client.getInstantAppData();
fileTask
.addOnCompleteListener(fileTask -> readData(fileTask.getResult()))
.addOnFailureListener(exception -> handleException(exception));
Inherited Field Summary
Public Method Summary
Task<Boolean> |
areInstantAppsEnabledForDevice()
Checks whether this device satisfied all preconditions to run instant apps.
|
Task<ParcelFileDescriptor> |
getInstantAppData()
Retrieves a
ParcelFileDescriptor
to the caller's instant app's data.
|
Inherited Method Summary
Public Methods
public Task<Boolean> areInstantAppsEnabledForDevice ()
Checks whether this device satisfied all preconditions to run instant apps. Default is false.
public Task<ParcelFileDescriptor> getInstantAppData ()
Retrieves a ParcelFileDescriptor
to the caller's instant app's data.
The file format is Zip, which is compatible with Android's native ZipOutputStream
and ZipInputStream
.
What is in the Zip file?
- Shared preferences files.
- Files in the directory returned by
getFilesDir()
. - Files in the directory returned by
getDatabasePath(String)
, which also includes files created with theSQLiteOpenHelper
class. - Files in directories created with
getDir(String, int)
.
Note: Since instant apps cannot access external storage, no information from external storage will be returned.
Files in directories returned by getCacheDir()
,
getCodeCacheDir()
,
or getNoBackupFilesDir()
are excluded. The files saved in these locations are only needed temporarily, or are
intentionally excluded from transfer operations.
Security Requirements:
- You may only request data for your own package. The package name is implied from
calling
getPackageName()
within your app. - You must sign your instant apps and your installed apps with the exact same key(s). i.e. If your instant app has two certificates, your Installed App must as well.