Build 1.0_r1(from source)

android.media
Class RingtoneManager

java.lang.Object
  extended by android.media.RingtoneManager

public class RingtoneManager
extends Object

RingtoneManager provides access to ringtones, notification, and other types of sounds. It manages querying the different media providers and combines the results into a single cursor. It also provides a Ringtone for each ringtone. We generically call these sounds ringtones, however the TYPE_RINGTONE refers to the type of sounds that are suitable for the phone ringer.

To show a ringtone picker to the user, use the ACTION_RINGTONE_PICKER intent to launch the picker as a subactivity.

See Also:
Ringtone

Field Summary
static String ACTION_RINGTONE_PICKER
          Activity Action: Shows a ringtone picker.
static String EXTRA_RINGTONE_DEFAULT_URI
          Given to the ringtone picker as a Uri.
static String EXTRA_RINGTONE_EXISTING_URI
          Given to the ringtone picker as a Uri.
static String EXTRA_RINGTONE_INCLUDE_DRM
          Given to the ringtone picker as a boolean.
static String EXTRA_RINGTONE_PICKED_URI
          Returned from the ringtone picker as a Uri.
static String EXTRA_RINGTONE_SHOW_DEFAULT
          Given to the ringtone picker as a boolean.
static String EXTRA_RINGTONE_SHOW_SILENT
          Given to the ringtone picker as a boolean.
static String EXTRA_RINGTONE_TITLE
          Given to the ringtone picker as a CharSequence.
static String EXTRA_RINGTONE_TYPE
          Given to the ringtone picker as an int.
static int ID_COLUMN_INDEX
          The column index (in the cursor returned by getCursor() for the row ID.
static int TITLE_COLUMN_INDEX
          The column index (in the cursor returned by getCursor() for the title.
static int TYPE_ALARM
          Type that refers to sounds that are used for the alarm.
static int TYPE_ALL
          All types of sounds.
static int TYPE_NOTIFICATION
          Type that refers to sounds that are used for notifications.
static int TYPE_RINGTONE
          Type that refers to sounds that are used for the phone ringer.
static int URI_COLUMN_INDEX
          The column index (in the cursor returned by getCursor() for the media provider's URI.
 
Constructor Summary
RingtoneManager(Activity activity)
          Constructs a RingtoneManager.
RingtoneManager(Context context)
          Constructs a RingtoneManager.
 
Method Summary
static Uri getActualDefaultRingtoneUri(Context context, int type)
          Gets the current default sound's Uri.
 Cursor getCursor()
          Returns a Cursor of all the ringtones available.
static int getDefaultType(Uri defaultRingtoneUri)
          Returns the type of a default Uri.
static Uri getDefaultUri(int type)
          Returns the Uri for the default ringtone of a particular type.
 boolean getIncludeDrm()
          Returns whether DRM ringtones will be included.
static Ringtone getRingtone(Context context, Uri ringtoneUri)
          Returns a Ringtone for a given sound URI.
 Ringtone getRingtone(int position)
          Gets a Ringtone for the ringtone at the given position in the Cursor.
 int getRingtonePosition(Uri ringtoneUri)
          Gets the position of a Uri within this RingtoneManager.
 Uri getRingtoneUri(int position)
          Gets a Uri for the ringtone at the given position in the Cursor.
 boolean getStopPreviousRingtone()
           
static Uri getValidRingtoneUri(Context context)
          Returns a valid ringtone URI.
static boolean isDefault(Uri ringtoneUri)
          Returns whether the given Uri is one of the default ringtones.
static void setActualDefaultRingtoneUri(Context context, int type, Uri ringtoneUri)
          Sets the Uri of the default sound for a given sound type.
 void setIncludeDrm(boolean includeDrm)
          Sets whether to include DRM ringtones.
 void setStopPreviousRingtone(boolean stopPreviousRingtone)
          Whether retrieving another Ringtone will stop playing the previously retrieved Ringtone.
 void setType(int type)
          Sets which type(s) of ringtones will be listed by this.
 void stopPreviousRingtone()
          Stops playing the last Ringtone retrieved from this.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYPE_RINGTONE

public static final int TYPE_RINGTONE
Type that refers to sounds that are used for the phone ringer.

See Also:
Constant Field Values

TYPE_NOTIFICATION

public static final int TYPE_NOTIFICATION
Type that refers to sounds that are used for notifications.

See Also:
Constant Field Values

TYPE_ALARM

public static final int TYPE_ALARM
Type that refers to sounds that are used for the alarm.

See Also:
Constant Field Values

TYPE_ALL

public static final int TYPE_ALL
All types of sounds.

See Also:
Constant Field Values

ACTION_RINGTONE_PICKER

public static final String ACTION_RINGTONE_PICKER
Activity Action: Shows a ringtone picker.

Input: EXTRA_RINGTONE_EXISTING_URI, EXTRA_RINGTONE_SHOW_DEFAULT, EXTRA_RINGTONE_SHOW_SILENT, EXTRA_RINGTONE_TYPE, EXTRA_RINGTONE_DEFAULT_URI, EXTRA_RINGTONE_TITLE, EXTRA_RINGTONE_INCLUDE_DRM.

Output: EXTRA_RINGTONE_PICKED_URI.

See Also:
Constant Field Values

EXTRA_RINGTONE_SHOW_DEFAULT

public static final String EXTRA_RINGTONE_SHOW_DEFAULT
Given to the ringtone picker as a boolean. Whether to show an item for "Default".

See Also:
ACTION_RINGTONE_PICKER, Constant Field Values

EXTRA_RINGTONE_SHOW_SILENT

public static final String EXTRA_RINGTONE_SHOW_SILENT
Given to the ringtone picker as a boolean. Whether to show an item for "Silent". If the "Silent" item is picked, EXTRA_RINGTONE_PICKED_URI will be null.

See Also:
ACTION_RINGTONE_PICKER, Constant Field Values

EXTRA_RINGTONE_INCLUDE_DRM

public static final String EXTRA_RINGTONE_INCLUDE_DRM
Given to the ringtone picker as a boolean. Whether to include DRM ringtones.

See Also:
Constant Field Values

EXTRA_RINGTONE_EXISTING_URI

public static final String EXTRA_RINGTONE_EXISTING_URI
Given to the ringtone picker as a Uri. The Uri of the current ringtone, which will be used to show a checkmark next to the item for this Uri. If showing an item for "Default" (@see EXTRA_RINGTONE_SHOW_DEFAULT), this can also be one of Settings.System.DEFAULT_RINGTONE_URI or Settings.System.DEFAULT_NOTIFICATION_URI to have the "Default" item checked.

See Also:
ACTION_RINGTONE_PICKER, Constant Field Values

EXTRA_RINGTONE_DEFAULT_URI

public static final String EXTRA_RINGTONE_DEFAULT_URI
Given to the ringtone picker as a Uri. The Uri of the ringtone to play when the user attempts to preview the "Default" ringtone. This can be one of Settings.System.DEFAULT_RINGTONE_URI or Settings.System.DEFAULT_NOTIFICATION_URI to have the "Default" point to the current sound for the given default sound type. If you are showing a ringtone picker for some other type of sound, you are free to provide any Uri here.

See Also:
Constant Field Values

EXTRA_RINGTONE_TYPE

public static final String EXTRA_RINGTONE_TYPE
Given to the ringtone picker as an int. Specifies which ringtone type(s) should be shown in the picker. One or more of TYPE_RINGTONE, TYPE_NOTIFICATION, TYPE_ALARM, or TYPE_ALL (bitwise-ored together).

See Also:
Constant Field Values

EXTRA_RINGTONE_TITLE

public static final String EXTRA_RINGTONE_TITLE
Given to the ringtone picker as a CharSequence. The title to show for the ringtone picker. This has a default value that is suitable in most cases.

See Also:
Constant Field Values

EXTRA_RINGTONE_PICKED_URI

public static final String EXTRA_RINGTONE_PICKED_URI
Returned from the ringtone picker as a Uri.

It will be one of:

  • the picked ringtone,
  • a Uri that equals Settings.System.DEFAULT_RINGTONE_URI or Settings.System.DEFAULT_NOTIFICATION_URI if the default was chosen,
  • null if the "Silent" item was picked.

    See Also:
    ACTION_RINGTONE_PICKER, Constant Field Values

  • ID_COLUMN_INDEX

    public static final int ID_COLUMN_INDEX
    The column index (in the cursor returned by getCursor() for the row ID.

    See Also:
    Constant Field Values

    TITLE_COLUMN_INDEX

    public static final int TITLE_COLUMN_INDEX
    The column index (in the cursor returned by getCursor() for the title.

    See Also:
    Constant Field Values

    URI_COLUMN_INDEX

    public static final int URI_COLUMN_INDEX
    The column index (in the cursor returned by getCursor() for the media provider's URI.

    See Also:
    Constant Field Values
    Constructor Detail

    RingtoneManager

    public RingtoneManager(Activity activity)
    Constructs a RingtoneManager. This constructor is recommended as its constructed instance manages cursor(s).

    Parameters:
    activity - The activity used to get a managed cursor.

    RingtoneManager

    public RingtoneManager(Context context)
    Constructs a RingtoneManager. The instance constructed by this constructor will not manage the cursor(s), so the client should handle this itself.

    Parameters:
    context - The context to used to get a cursor.
    Method Detail

    setType

    public void setType(int type)
    Sets which type(s) of ringtones will be listed by this.

    Parameters:
    type - The type(s), one or more of TYPE_RINGTONE, TYPE_NOTIFICATION, TYPE_ALARM, TYPE_ALL.
    See Also:
    EXTRA_RINGTONE_TYPE

    setStopPreviousRingtone

    public void setStopPreviousRingtone(boolean stopPreviousRingtone)
    Whether retrieving another Ringtone will stop playing the previously retrieved Ringtone.

    If this is false, make sure to Ringtone.stop() any previous ringtones to free resources.

    Parameters:
    stopPreviousRingtone - If true, the previously retrieved Ringtone will be stopped.

    getStopPreviousRingtone

    public boolean getStopPreviousRingtone()
    See Also:
    setStopPreviousRingtone(boolean)

    stopPreviousRingtone

    public void stopPreviousRingtone()
    Stops playing the last Ringtone retrieved from this.


    getIncludeDrm

    public boolean getIncludeDrm()
    Returns whether DRM ringtones will be included.

    Returns:
    Whether DRM ringtones will be included.
    See Also:
    setIncludeDrm(boolean)

    setIncludeDrm

    public void setIncludeDrm(boolean includeDrm)
    Sets whether to include DRM ringtones.

    Parameters:
    includeDrm - Whether to include DRM ringtones.

    getCursor

    public Cursor getCursor()
    Returns a Cursor of all the ringtones available. The returned cursor will be the same cursor returned each time this method is called, so do not Cursor.close() the cursor. The cursor can be Cursor.deactivate() safely.

    If RingtoneManager(Activity) was not used, the caller should manage the returned cursor through its activity's life cycle to prevent leaking the cursor.

    Returns:
    A Cursor of all the ringtones available.
    See Also:
    ID_COLUMN_INDEX, TITLE_COLUMN_INDEX, URI_COLUMN_INDEX

    getRingtone

    public Ringtone getRingtone(int position)
    Gets a Ringtone for the ringtone at the given position in the Cursor.

    Parameters:
    position - The position (in the Cursor) of the ringtone.
    Returns:
    A Ringtone pointing to the ringtone.

    getRingtoneUri

    public Uri getRingtoneUri(int position)
    Gets a Uri for the ringtone at the given position in the Cursor.

    Parameters:
    position - The position (in the Cursor) of the ringtone.
    Returns:
    A Uri pointing to the ringtone.

    getRingtonePosition

    public int getRingtonePosition(Uri ringtoneUri)
    Gets the position of a Uri within this RingtoneManager.

    Parameters:
    ringtoneUri - The Uri to retreive the position of.
    Returns:
    The position of the Uri, or -1 if it cannot be found.

    getValidRingtoneUri

    public static Uri getValidRingtoneUri(Context context)
    Returns a valid ringtone URI. No guarantees on which it returns. If it cannot find one, returns null.

    Parameters:
    context - The context to use for querying.
    Returns:
    A ringtone URI, or null if one cannot be found.

    getRingtone

    public static Ringtone getRingtone(Context context,
                                       Uri ringtoneUri)
    Returns a Ringtone for a given sound URI.

    If the given URI cannot be opened for any reason, this method will attempt to fallback on another sound. If it cannot find any, it will return null.

    Parameters:
    context - A context used to query.
    ringtoneUri - The Uri of a sound or ringtone.
    Returns:
    A Ringtone for the given URI, or null.

    getActualDefaultRingtoneUri

    public static Uri getActualDefaultRingtoneUri(Context context,
                                                  int type)
    Gets the current default sound's Uri. This will give the actual sound Uri, instead of using this, most clients can use Settings.System.DEFAULT_RINGTONE_URI.

    Parameters:
    context - A context used for querying.
    type - The type whose default sound should be returned. One of TYPE_RINGTONE or TYPE_NOTIFICATION.
    Returns:
    A Uri pointing to the default sound for the sound type.
    See Also:
    setActualDefaultRingtoneUri(Context, int, Uri)

    setActualDefaultRingtoneUri

    public static void setActualDefaultRingtoneUri(Context context,
                                                   int type,
                                                   Uri ringtoneUri)
    Sets the Uri of the default sound for a given sound type.

    Parameters:
    context - A context used for querying.
    type - The type whose default sound should be set. One of TYPE_RINGTONE or TYPE_NOTIFICATION.
    ringtoneUri - A Uri pointing to the default sound to set.
    See Also:
    getActualDefaultRingtoneUri(Context, int)

    isDefault

    public static boolean isDefault(Uri ringtoneUri)
    Returns whether the given Uri is one of the default ringtones.

    Parameters:
    ringtoneUri - The ringtone Uri to be checked.
    Returns:
    Whether the Uri is a default.

    getDefaultType

    public static int getDefaultType(Uri defaultRingtoneUri)
    Returns the type of a default Uri.

    Parameters:
    defaultRingtoneUri - The default Uri. For example, Settings.System.DEFAULT_RINGTONE_URI or Settings.System.DEFAULT_NOTIFICATION_URI.
    Returns:
    The type of the defaultRingtoneUri, or -1.

    getDefaultUri

    public static Uri getDefaultUri(int type)
    Returns the Uri for the default ringtone of a particular type. Rather than returning the actual ringtone's sound Uri, this will return the symbolic Uri which will resolved to the actual sound when played.

    Parameters:
    type - The ringtone type whose default should be returned.
    Returns:
    The Uri of the default ringtone for the given type.

    Build 1.0_r1(from source)

    Please submit a feedback, bug or feature