Skip to content

Most visited

Recently visited

navigation

MediaScannerConnection

public class MediaScannerConnection
extends Object implements ServiceConnection

java.lang.Object
   ↳ android.media.MediaScannerConnection


MediaScannerConnection provides a way for applications to pass a newly created or downloaded media file to the media scanner service. The media scanner service will read metadata from the file and add the file to the media content provider. The MediaScannerConnectionClient provides an interface for the media scanner service to return the Uri for a newly scanned file to the client of the MediaScannerConnection class.

Summary

Nested classes

interface MediaScannerConnection.MediaScannerConnectionClient

An interface for notifying clients of MediaScannerConnection when a connection to the MediaScanner service has been established and when the scanning of a file has completed. 

interface MediaScannerConnection.OnScanCompletedListener

Interface for notifying clients of the result of scanning a requested media file. 

Public constructors

MediaScannerConnection(Context context, MediaScannerConnection.MediaScannerConnectionClient client)

Constructs a new MediaScannerConnection object.

Public methods

void connect()

Initiates a connection to the media scanner service.

void disconnect()

Releases the connection to the media scanner service.

boolean isConnected()

Returns whether we are connected to the media scanner service

void onServiceConnected(ComponentName className, IBinder service)

Part of the ServiceConnection interface.

void onServiceDisconnected(ComponentName className)

Part of the ServiceConnection interface.

void scanFile(String path, String mimeType)

Requests the media scanner to scan a file.

static void scanFile(Context context, String[] paths, String[] mimeTypes, MediaScannerConnection.OnScanCompletedListener callback)

Convenience for constructing a MediaScannerConnection, calling connect() on it, and calling scanFile(Context, String[], String[], MediaScannerConnection.OnScanCompletedListener) with the given path and mimeType when the connection is established.

Inherited methods

From class java.lang.Object
From interface android.content.ServiceConnection

Public constructors

MediaScannerConnection

Added in API level 1
MediaScannerConnection (Context context, 
                MediaScannerConnection.MediaScannerConnectionClient client)

Constructs a new MediaScannerConnection object.

Parameters
context Context: the Context object, required for establishing a connection to the media scanner service.
client MediaScannerConnection.MediaScannerConnectionClient: an optional object implementing the MediaScannerConnectionClient interface, for receiving notifications from the media scanner.

Public methods

connect

Added in API level 1
void connect ()

Initiates a connection to the media scanner service. onMediaScannerConnected() will be called when the connection is established.

disconnect

Added in API level 1
void disconnect ()

Releases the connection to the media scanner service.

isConnected

Added in API level 1
boolean isConnected ()

Returns whether we are connected to the media scanner service

Returns
boolean true if we are connected, false otherwise

onServiceConnected

Added in API level 1
void onServiceConnected (ComponentName className, 
                IBinder service)

Part of the ServiceConnection interface. Do not call.

Parameters
className ComponentName: The concrete component name of the service that has been connected.
service IBinder: The IBinder of the Service's communication channel, which you can now make calls on.

onServiceDisconnected

Added in API level 1
void onServiceDisconnected (ComponentName className)

Part of the ServiceConnection interface. Do not call.

Parameters
className ComponentName: The concrete component name of the service whose connection has been lost.

scanFile

Added in API level 1
void scanFile (String path, 
                String mimeType)

Requests the media scanner to scan a file. Success or failure of the scanning operation cannot be determined until onScanCompleted(String, Uri) is called.

Parameters
path String: the path to the file to be scanned.
mimeType String: an optional mimeType for the file. If mimeType is null, then the mimeType will be inferred from the file extension.

scanFile

Added in API level 8
void scanFile (Context context, 
                String[] paths, 
                String[] mimeTypes, 
                MediaScannerConnection.OnScanCompletedListener callback)

Convenience for constructing a MediaScannerConnection, calling connect() on it, and calling scanFile(Context, String[], String[], MediaScannerConnection.OnScanCompletedListener) with the given path and mimeType when the connection is established.

Parameters
context Context: The caller's Context, required for establishing a connection to the media scanner service. Success or failure of the scanning operation cannot be determined until onScanCompleted(String, Uri) is called.
paths String: Array of paths to be scanned.
mimeTypes String: Optional array of MIME types for each path. If mimeType is null, then the mimeType will be inferred from the file extension.
callback MediaScannerConnection.OnScanCompletedListener: Optional callback through which you can receive the scanned URI and MIME type; If null, the file will be scanned but you will not get a result back.

See also:

This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.