StorageManager Class

Definition

StorageManager is the interface to the systems storage service.

[Android.Runtime.Register("android/os/storage/StorageManager", DoNotGenerateAcw=true)]
public class StorageManager : Java.Lang.Object
[<Android.Runtime.Register("android/os/storage/StorageManager", DoNotGenerateAcw=true)>]
type StorageManager = class
    inherit Object
Inheritance
StorageManager
Attributes

Remarks

StorageManager is the interface to the systems storage service. The storage manager handles storage-related items such as Opaque Binary Blobs (OBBs).

OBBs contain a filesystem that maybe be encrypted on disk and mounted on-demand from an application. OBBs are a good way of providing large amounts of binary assets without packaging them into APKs as they may be multiple gigabytes in size. However, due to their size, they're most likely stored in a shared storage pool accessible from all programs. The system does not guarantee the security of the OBB file itself: if any program modifies the OBB, there is no guarantee that a read from that OBB will produce the expected output.

Java documentation for android.os.storage.StorageManager.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Constructors

Name Description
StorageManager(IntPtr, JniHandleOwnership)

A constructor used when creating managed representations of JNI objects; called by the runtime.

Fields

Name Description
ActionClearAppCache

Activity Action: Allows the user to free up space by clearing app external cache directories.

ActionManageStorage

Activity Action: Allows the user to manage their storage.

ExtraRequestedBytes

Extra used to indicate the total size (in bytes) that an application is interested in allocating.

ExtraUuid

Extra UUID used to indicate the storage volume where an application is interested in allocating or managing disk space.

Properties

Name Description
Class

Returns the runtime class of this Object.

(Inherited from Object)
Handle

The handle to the underlying Android instance.

(Inherited from Object)
IsCheckpointSupported

Check whether the device supports filesystem checkpoint.

JniIdentityHashCode

Gets the identity hash code assigned to this Java peer by the interop runtime.

(Inherited from Object)
JniManagedPeerState (Inherited from JavaObject)
JniPeerMembers
PeerReference

Gets the JNI object reference for this Java peer.

(Inherited from Object)
PrimaryStorageVolume

Return the primary shared/external storage volume available to the current user.

RecentStorageVolumes

Return the list of shared/external storage volumes both currently and recently available to the calling user.

StorageVolumes

Return the list of shared/external storage volumes currently available to the calling user.

StorageVolumesIncludingSharedProfiles

Return the list of shared/external storage volumes currently available to the calling user and the user it shares media with.

ThresholdClass

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

ThresholdType

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

UuidDefault

UUID representing the default internal storage of this device which provides Environment#getDataDirectory().

Methods

Name Description
AllocateBytes(FileDescriptor, Int64)

Allocate the requested number of bytes for your application to use in the given open file.

AllocateBytes(UUID, Int64)

Allocate the requested number of bytes for your application to use on the given storage volume.

Clone()

Creates and returns a copy of this object.

(Inherited from Object)
Construct(JniObjectReference, JniObjectReferenceOptions) (Inherited from JavaObject)
Dispose()

Releases the resources held by this Java peer.

(Inherited from Object)
Dispose(Boolean)

Releases the resources held by this Java peer.

(Inherited from Object)
DisposeUnlessReferenced() (Inherited from JavaObject)
Equals(Object) (Inherited from JavaObject)
Equals(Object)

Indicates whether some other object is "equal to" this one.

(Inherited from Object)
FromContext(Context)
GetAllocatableBytes(UUID)

Return the maximum number of new bytes that your app can allocate for itself on the given storage volume.

GetCacheQuotaBytes(UUID)

Return quota size in bytes for all cached data belonging to the calling app on the given storage volume.

GetCacheSizeBytes(UUID)

Return total size in bytes of all cached data belonging to the calling app on the given storage volume.

GetHashCode()

Returns a hash code value for the object.

(Inherited from Object)
GetManageSpaceActivityIntent(String, Int32)

Returns a PendingIntent that can be used by Apps with android.Manifest.permission#MANAGE_EXTERNAL_STORAGE permission to launch the manageSpaceActivity for any App that implements it, irrespective of its exported status.

GetMountedObbPath(String)

Check the mounted path of an Opaque Binary Blob (OBB) file.

GetStorageVolume(File)

Return the StorageVolume that contains the given file, or null if none.

GetStorageVolume(Uri)

Return the StorageVolume that contains the given MediaStore item.

GetUuidForPath(File)

Return a UUID identifying the storage volume that hosts the given filesystem path.

IsAllocationSupported(FileDescriptor)

Test if the given file descriptor supports allocation of disk space using #allocateBytes(FileDescriptor, long).

IsCacheBehaviorGroup(File)

Read the current value set by #setCacheBehaviorGroup(File, boolean).

IsCacheBehaviorTombstone(File)

Read the current value set by #setCacheBehaviorTombstone(File, boolean).

IsEncrypted(File)

Return if data stored at or under the given path will be encrypted while at rest.

IsObbMounted(String)

Check whether an Opaque Binary Blob (OBB) is mounted or not.

JavaFinalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

(Inherited from Object)
MountObb(String, String, OnObbStateChangeListener)

Mount an Opaque Binary Blob (OBB) file.

Notify()

Wakes up a single thread that is waiting on this object's monitor.

(Inherited from Object)
NotifyAll()

Wakes up all threads that are waiting on this object's monitor.

(Inherited from Object)
OpenProxyFileDescriptor(ParcelFileMode, ProxyFileDescriptorCallback, Handler)

Opens a seekable ParcelFileDescriptor that proxies all low-level I/O requests back to the given ProxyFileDescriptorCallback.

RegisterStorageVolumeCallback(IExecutor, StorageManager+StorageVolumeCallback)

Registers the given callback to listen for StorageVolume changes.

SetCacheBehaviorGroup(File, Boolean)

Enable or disable special cache behavior that treats this directory and its contents as an entire group.

SetCacheBehaviorTombstone(File, Boolean)

Enable or disable special cache behavior that leaves deleted cache files intact as tombstones.

SetHandle(IntPtr, JniHandleOwnership)

Sets the Handle property.

(Inherited from Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions) (Inherited from JavaObject)
ToArray<T>()

Creates a managed array from this Java array wrapper.

(Inherited from Object)
ToString()

Returns a string representation of the object.

(Inherited from Object)
UnmountObb(String, Boolean, OnObbStateChangeListener)

Unmount an Opaque Binary Blob (OBB) file asynchronously.

UnregisterFromRuntime()

Unregisters this Java peer from the interop runtime.

(Inherited from Object)
UnregisterStorageVolumeCallback(StorageManager+StorageVolumeCallback)

Unregisters the given callback from listening for StorageVolume changes.

Wait()

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>.

(Inherited from Object)
Wait(Int64, Int32)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)
Wait(Int64)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)

Explicit Interface Implementations

Name Description
IJavaPeerable.Disposed() (Inherited from JavaObject)
IJavaPeerable.Finalized() (Inherited from JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock (Inherited from JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from JavaObject)

Extension Methods

Name Description
GetJniTypeName(IJavaPeerable)

Gets the JNI name of the type of the instance self.

JavaAs<TResult>(IJavaPeerable)

Try to coerce self to type TResult, checking that the coercion is valid on the Java side.

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
TryJavaCast<TResult>(IJavaPeerable, TResult)

Try to coerce self to type TResult, checking that the coercion is valid on the Java side.

Applies to