Android APIs
public class

MediaScannerConnection

extends Object
implements ServiceConnection
java.lang.Object
   ↳ android.media.MediaScannerConnection

Class Overview

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.
synchronized 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.
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.
void scanFile(String path, String mimeType)
Requests the media scanner to scan a file.
[Expand]
Inherited Methods
From class java.lang.Object
From interface android.content.ServiceConnection

Public Constructors

public MediaScannerConnection (Context context, MediaScannerConnection.MediaScannerConnectionClient client)

Added in API level 1

Constructs a new MediaScannerConnection object.

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

Public Methods

public void connect ()

Added in API level 1

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

public void disconnect ()

Added in API level 1

Releases the connection to the media scanner service.

public synchronized boolean isConnected ()

Added in API level 1

Returns whether we are connected to the media scanner service

Returns
  • true if we are connected, false otherwise

public void onServiceConnected (ComponentName className, IBinder service)

Added in API level 1

Part of the ServiceConnection interface. Do not call.

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

public void onServiceDisconnected (ComponentName className)

Added in API level 1

Part of the ServiceConnection interface. Do not call.

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

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

Added in API level 8

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 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 Array of paths to be scanned.
mimeTypes Optional array of MIME types for each path. If mimeType is null, then the mimeType will be inferred from the file extension.
callback 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.

public void scanFile (String path, String mimeType)

Added in API level 1

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 the path to the file to be scanned.
mimeType an optional mimeType for the file. If mimeType is null, then the mimeType will be inferred from the file extension.