Most visited

Recently visited

Added in API level 8

DropBoxManager

public class DropBoxManager
extends Object

java.lang.Object
   ↳ android.os.DropBoxManager


Enqueues chunks of data (from various sources -- application crashes, kernel log records, etc.). The queue is size bounded and will drop old data if the enqueued data exceeds the maximum size. You can think of this as a persistent, system-wide, blob-oriented "logcat".

You can obtain an instance of this class by calling getSystemService(Class) with DROPBOX_SERVICE.

DropBoxManager entries are not sent anywhere directly, but other system services and debugging tools may scan and upload entries for processing.

Summary

Nested classes

class DropBoxManager.Entry

A single entry retrieved from the drop box. 

Constants

String ACTION_DROPBOX_ENTRY_ADDED

Broadcast Action: This is broadcast when a new entry is added in the dropbox.

String EXTRA_TAG

Extra for ACTION_DROPBOX_ENTRY_ADDED: string containing the dropbox tag.

String EXTRA_TIME

Extra for ACTION_DROPBOX_ENTRY_ADDED: long integer value containing time (in milliseconds since January 1, 1970 00:00:00 UTC) when the entry was created.

int IS_EMPTY

Flag value: Entry's content was deleted to save space.

int IS_GZIPPED

Flag value: Content can be decompressed with GZIPOutputStream.

int IS_TEXT

Flag value: Content is human-readable UTF-8 text (can be combined with IS_GZIPPED).

Protected constructors

DropBoxManager()

Create a dummy instance for testing.

Public methods

void addData(String tag, byte[] data, int flags)

Stores binary data, which may be ignored or discarded as with addText(String, String).

void addFile(String tag, File file, int flags)

Stores the contents of a file, which may be ignored or discarded as with addText(String, String).

void addText(String tag, String data)

Stores human-readable text.

DropBoxManager.Entry getNextEntry(String tag, long msec)

Gets the next entry from the drop box after the specified time.

boolean isTagEnabled(String tag)

Checks any blacklists (set in system settings) to see whether a certain tag is allowed.

Inherited methods

From class java.lang.Object

Constants

ACTION_DROPBOX_ENTRY_ADDED

Added in API level 11
String ACTION_DROPBOX_ENTRY_ADDED

Broadcast Action: This is broadcast when a new entry is added in the dropbox. You must hold the READ_LOGS permission in order to receive this broadcast.

This is a protected intent that can only be sent by the system.

Constant Value: "android.intent.action.DROPBOX_ENTRY_ADDED"

EXTRA_TAG

Added in API level 11
String EXTRA_TAG

Extra for ACTION_DROPBOX_ENTRY_ADDED: string containing the dropbox tag.

Constant Value: "tag"

EXTRA_TIME

Added in API level 11
String EXTRA_TIME

Extra for ACTION_DROPBOX_ENTRY_ADDED: long integer value containing time (in milliseconds since January 1, 1970 00:00:00 UTC) when the entry was created.

Constant Value: "time"

IS_EMPTY

Added in API level 8
int IS_EMPTY

Flag value: Entry's content was deleted to save space.

Constant Value: 1 (0x00000001)

IS_GZIPPED

Added in API level 8
int IS_GZIPPED

Flag value: Content can be decompressed with GZIPOutputStream.

Constant Value: 4 (0x00000004)

IS_TEXT

Added in API level 8
int IS_TEXT

Flag value: Content is human-readable UTF-8 text (can be combined with IS_GZIPPED).

Constant Value: 2 (0x00000002)

Protected constructors

DropBoxManager

Added in API level 8
DropBoxManager ()

Create a dummy instance for testing. All methods will fail unless overridden with an appropriate mock implementation. To obtain a functional instance, use getSystemService(Class).

Public methods

addData

Added in API level 8
void addData (String tag, 
                byte[] data, 
                int flags)

Stores binary data, which may be ignored or discarded as with addText(String, String).

Parameters
tag String: describing the type of entry being stored
data byte: value to store
flags int: describing the data

addFile

Added in API level 8
void addFile (String tag, 
                File file, 
                int flags)

Stores the contents of a file, which may be ignored or discarded as with addText(String, String).

Parameters
tag String: describing the type of entry being stored
file File: to read from
flags int: describing the data
Throws
IOException if the file can't be opened

addText

Added in API level 8
void addText (String tag, 
                String data)

Stores human-readable text. The data may be discarded eventually (or even immediately) if space is limited, or ignored entirely if the tag has been blocked (see isTagEnabled(String)).

Parameters
tag String: describing the type of entry being stored
data String: value to store

getNextEntry

Added in API level 8
DropBoxManager.Entry getNextEntry (String tag, 
                long msec)

Gets the next entry from the drop box after the specified time. Requires android.permission.READ_LOGS. You must always call close() on the return value!

Parameters
tag String: of entry to look for, null for all tags
msec long: time of the last entry seen
Returns
DropBoxManager.Entry the next entry, or null if there are no more entries

isTagEnabled

Added in API level 8
boolean isTagEnabled (String tag)

Checks any blacklists (set in system settings) to see whether a certain tag is allowed. Entries with disabled tags will be dropped immediately, so you can save the work of actually constructing and sending the data.

Parameters
tag String: that would be used in addText(String, String) or addFile(String, File, int)
Returns
boolean whether events with that tag would be accepted

Hooray!