public
class
RingtoneManager
extends Object
java.lang.Object | |
↳ | android.media.RingtoneManager |
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:
Constants | |
---|---|
String |
ACTION_RINGTONE_PICKER
Activity Action: Shows a ringtone picker. |
String |
EXTRA_RINGTONE_DEFAULT_URI
Given to the ringtone picker as a |
String |
EXTRA_RINGTONE_EXISTING_URI
Given to the ringtone picker as a |
String |
EXTRA_RINGTONE_INCLUDE_DRM
This constant was deprecated in API level 19. DRM ringtones are no longer supported |
String |
EXTRA_RINGTONE_PICKED_URI
Returned from the ringtone picker as a |
String |
EXTRA_RINGTONE_SHOW_DEFAULT
Given to the ringtone picker as a boolean. |
String |
EXTRA_RINGTONE_SHOW_SILENT
Given to the ringtone picker as a boolean. |
String |
EXTRA_RINGTONE_TITLE
Given to the ringtone picker as a |
String |
EXTRA_RINGTONE_TYPE
Given to the ringtone picker as an int. |
int |
ID_COLUMN_INDEX
The column index (in the cursor returned by |
int |
TITLE_COLUMN_INDEX
The column index (in the cursor returned by |
int |
TYPE_ALARM
Type that refers to sounds that are used for the alarm. |
int |
TYPE_ALL
All types of sounds. |
int |
TYPE_NOTIFICATION
Type that refers to sounds that are used for notifications. |
int |
TYPE_RINGTONE
Type that refers to sounds that are used for the phone ringer. |
int |
URI_COLUMN_INDEX
The column index (in the cursor returned by |
Public constructors | |
---|---|
RingtoneManager(Activity activity)
Constructs a RingtoneManager. |
|
RingtoneManager(Context context)
Constructs a RingtoneManager. |
Public methods | |
---|---|
static
Uri
|
getActualDefaultRingtoneUri(Context context, int type)
Gets the current default sound's |
Cursor
|
getCursor()
Returns a |
static
int
|
getDefaultType(Uri defaultRingtoneUri)
Returns the type of a default |
static
Uri
|
getDefaultUri(int type)
Returns the |
boolean
|
getIncludeDrm()
This method was deprecated in API level 19. DRM ringtones are no longer supported |
static
Ringtone
|
getRingtone(Context context, Uri ringtoneUri)
Returns a |
Ringtone
|
getRingtone(int position)
Gets a |
int
|
getRingtonePosition(Uri ringtoneUri)
Gets the position of a |
Uri
|
getRingtoneUri(int position)
Gets a |
boolean
|
getStopPreviousRingtone()
|
static
Uri
|
getValidRingtoneUri(Context context)
Returns a valid ringtone URI. |
int
|
inferStreamType()
Infers the playback stream type based on what type of ringtones this manager is returning. |
static
boolean
|
isDefault(Uri ringtoneUri)
Returns whether the given |
static
void
|
setActualDefaultRingtoneUri(Context context, int type, Uri ringtoneUri)
Sets the |
void
|
setIncludeDrm(boolean includeDrm)
This method was deprecated in API level 19. DRM ringtones are no longer supported |
void
|
setStopPreviousRingtone(boolean stopPreviousRingtone)
Whether retrieving another |
void
|
setType(int type)
Sets which type(s) of ringtones will be listed by this. |
void
|
stopPreviousRingtone()
Stops playing the last |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
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
,
Output: EXTRA_RINGTONE_PICKED_URI
.
Constant Value: "android.intent.action.RINGTONE_PICKER"
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 DEFAULT_RINGTONE_URI
,
DEFAULT_NOTIFICATION_URI
, or
DEFAULT_ALARM_ALERT_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.
Constant Value: "android.intent.extra.ringtone.DEFAULT_URI"
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
DEFAULT_RINGTONE_URI
,
DEFAULT_NOTIFICATION_URI
, or
DEFAULT_ALARM_ALERT_URI
to have the "Default" item
checked.
See also:
Constant Value: "android.intent.extra.ringtone.EXISTING_URI"
String EXTRA_RINGTONE_INCLUDE_DRM
This constant was deprecated
in API level 19.
DRM ringtones are no longer supported
Given to the ringtone picker as a boolean. Whether to include DRM ringtones.
Constant Value: "android.intent.extra.ringtone.INCLUDE_DRM"
String EXTRA_RINGTONE_PICKED_URI
Returned from the ringtone picker as a Uri
.
It will be one of:
Uri
that equals DEFAULT_RINGTONE_URI
,
DEFAULT_NOTIFICATION_URI
, or
DEFAULT_ALARM_ALERT_URI
if the default was chosen,
See also:
Constant Value: "android.intent.extra.ringtone.PICKED_URI"
String EXTRA_RINGTONE_SHOW_DEFAULT
Given to the ringtone picker as a boolean. Whether to show an item for "Default".
See also:
Constant Value: "android.intent.extra.ringtone.SHOW_DEFAULT"
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:
Constant Value: "android.intent.extra.ringtone.SHOW_SILENT"
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.
Constant Value: "android.intent.extra.ringtone.TITLE"
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).
Constant Value: "android.intent.extra.ringtone.TYPE"
int ID_COLUMN_INDEX
The column index (in the cursor returned by getCursor()
for the
row ID.
Constant Value: 0 (0x00000000)
int TITLE_COLUMN_INDEX
The column index (in the cursor returned by getCursor()
for the
title.
Constant Value: 1 (0x00000001)
int TYPE_ALARM
Type that refers to sounds that are used for the alarm.
Constant Value: 4 (0x00000004)
int TYPE_NOTIFICATION
Type that refers to sounds that are used for notifications.
Constant Value: 2 (0x00000002)
int TYPE_RINGTONE
Type that refers to sounds that are used for the phone ringer.
Constant Value: 1 (0x00000001)
int URI_COLUMN_INDEX
The column index (in the cursor returned by getCursor()
for the
media provider's URI.
Constant Value: 2 (0x00000002)
RingtoneManager (Activity activity)
Constructs a RingtoneManager. This constructor is recommended as its constructed instance manages cursor(s).
Parameters | |
---|---|
activity |
Activity :
The activity used to get a managed cursor.
|
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 |
Context :
The context to used to get a cursor.
|
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
DEFAULT_RINGTONE_URI
.
Parameters | |
---|---|
context |
Context :
A context used for querying. |
type |
int :
The type whose default sound should be returned. One of
TYPE_RINGTONE , TYPE_NOTIFICATION , or
TYPE_ALARM . |
Returns | |
---|---|
Uri |
A Uri pointing to the default sound for the sound type. |
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 close()
the cursor. The cursor can be
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.
Note that the list of ringtones available will differ depending on whether the caller
has the READ_EXTERNAL_STORAGE
permission.
Returns | |
---|---|
Cursor |
A Cursor of all the ringtones available. |
int getDefaultType (Uri defaultRingtoneUri)
Returns the type of a default Uri
.
Parameters | |
---|---|
defaultRingtoneUri |
Uri :
The default Uri . For example,
DEFAULT_RINGTONE_URI ,
DEFAULT_NOTIFICATION_URI , or
DEFAULT_ALARM_ALERT_URI . |
Returns | |
---|---|
int |
The type of the defaultRingtoneUri, or -1. |
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 |
int :
The ringtone type whose default should be returned. |
Returns | |
---|---|
Uri |
The Uri of the default ringtone for the given type.
|
boolean getIncludeDrm ()
This method was deprecated
in API level 19.
DRM ringtones are no longer supported
Returns whether DRM ringtones will be included.
Returns | |
---|---|
boolean |
Whether DRM ringtones will be included. |
See also:
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 |
Context :
A context used to query. |
ringtoneUri |
Uri :
The Uri of a sound or ringtone. |
Returns | |
---|---|
Ringtone |
A Ringtone for the given URI, or null.
|
Ringtone getRingtone (int position)
Gets a Ringtone
for the ringtone at the given position in the
Cursor
.
Parameters | |
---|---|
position |
int :
The position (in the Cursor ) of the ringtone. |
Returns | |
---|---|
Ringtone |
A Ringtone pointing to the ringtone.
|
int getRingtonePosition (Uri ringtoneUri)
Gets the position of a Uri
within this RingtoneManager
.
Parameters | |
---|---|
ringtoneUri |
Uri :
The Uri to retreive the position of. |
Returns | |
---|---|
int |
The position of the Uri , or -1 if it cannot be found.
|
Uri getRingtoneUri (int position)
Gets a Uri
for the ringtone at the given position in the Cursor
.
Parameters | |
---|---|
position |
int :
The position (in the Cursor ) of the ringtone. |
Returns | |
---|---|
Uri |
A Uri pointing to the ringtone.
|
boolean getStopPreviousRingtone ()
Returns | |
---|---|
boolean |
See also:
Uri getValidRingtoneUri (Context context)
Returns a valid ringtone URI. No guarantees on which it returns. If it
cannot find one, returns null. If it can only find one on external storage and the caller
doesn't have the READ_EXTERNAL_STORAGE
permission,
returns null.
Parameters | |
---|---|
context |
Context :
The context to use for querying. |
Returns | |
---|---|
Uri |
A ringtone URI, or null if one cannot be found. |
int inferStreamType ()
Infers the playback stream type based on what type of ringtones this manager is returning.
Returns | |
---|---|
int |
The stream type. |
boolean isDefault (Uri ringtoneUri)
Returns whether the given Uri
is one of the default ringtones.
Parameters | |
---|---|
ringtoneUri |
Uri :
The ringtone Uri to be checked. |
Returns | |
---|---|
boolean |
Whether the Uri is a default.
|
void setActualDefaultRingtoneUri (Context context, int type, Uri ringtoneUri)
Sets the Uri
of the default sound for a given sound type.
Parameters | |
---|---|
context |
Context :
A context used for querying. |
type |
int :
The type whose default sound should be set. One of
TYPE_RINGTONE , TYPE_NOTIFICATION , or
TYPE_ALARM . |
ringtoneUri |
Uri :
A Uri pointing to the default sound to set. |
void setIncludeDrm (boolean includeDrm)
This method was deprecated
in API level 19.
DRM ringtones are no longer supported
Sets whether to include DRM ringtones.
Parameters | |
---|---|
includeDrm |
boolean :
Whether to include DRM ringtones.
Obsolete - no longer has any effect |
void setStopPreviousRingtone (boolean stopPreviousRingtone)
Whether retrieving another Ringtone
will stop playing the
previously retrieved Ringtone
.
If this is false, make sure to stop()
any previous
ringtones to free resources.
Parameters | |
---|---|
stopPreviousRingtone |
boolean :
If true, the previously retrieved
Ringtone will be stopped.
|
void setType (int type)
Sets which type(s) of ringtones will be listed by this.
Parameters | |
---|---|
type |
int :
The type(s), one or more of TYPE_RINGTONE ,
TYPE_NOTIFICATION , TYPE_ALARM ,
TYPE_ALL . |
See also:
void stopPreviousRingtone ()
Stops playing the last Ringtone
retrieved from this.