in the Android system, different ringtones are stored in the ringtone path:/system/media/audio/Ringtones Call ringtone/system/media/audio/Notifications SMS Notification ringtones/system/media/audio/alarms settings for alarm ringtones:ImportJava.io.File; Importandroid.app.Activity; Importandroid.content.Intent; ImportAndroid.media.RingtoneManager; ImportAndroid.net.Uri; ImportAndroid.os.Bundle; ImportAndroid.view.View; ImportAndroid.widget.Button; Public classActivity01extendsActivity {/*3 x Buttons*/ PrivateButton Mbuttonringtone; PrivateButton Mbuttonalarm; PrivateButton mbuttonnotification; /*Types of Customizations*/ Public Static Final intButtonringtone = 0; Public Static Final intButtonalarm = 1; Public Static Final intButtonnotification = 2; /*Ringtone Folder*/ PrivateString Strringtonefolder = "/sdcard/music/ringtones"; PrivateString Stralarmfolder = "/sdcard/music/alarms"; PrivateString Strnotificationfolder = "/sdcard/music/notifications"; /**Called when the activity is first created.*/@Override Public voidonCreate (Bundle savedinstancestate) {Super. OnCreate (savedinstancestate); Setcontentview (R.layout.main); Mbuttonringtone=(Button) Findviewbyid (R.id.buttonringtone); Mbuttonalarm=(Button) Findviewbyid (r.id.buttonalarm); Mbuttonnotification=(Button) Findviewbyid (r.id.buttonnotification); /*set up incoming call tones*/Mbuttonringtone.setonclicklistener (NewButton.onclicklistener () {@Override Public voidOnClick (View arg0) {if(Bfolder (Strringtonefolder)) {//turn on system ringtone settingsIntent Intent =NewIntent (Ringtonemanager.action_ringtone_picker); //type is call ringtoneIntent.putextra (Ringtonemanager.extra_ringtone_type, Ringtonemanager.type_ringtone); //set the title of the displayIntent.putextra (Ringtonemanager.extra_ringtone_title, "Set caller ringtone"); //returns to the current activity when the setting is completeStartactivityforresult (Intent, buttonringtone); } } }); /*Set alarm tones*/Mbuttonalarm.setonclicklistener (NewButton.onclicklistener () {@Override Public voidOnClick (View arg0) {if(Bfolder (Stralarmfolder)) {//turn on system ringtone settingsIntent Intent =NewIntent (Ringtonemanager.action_ringtone_picker); //set the ringtone type and titleIntent.putextra (Ringtonemanager.extra_ringtone_type, ringtonemanager.type_alarm); Intent.putextra (Ringtonemanager.extra_ringtone_title,"Set the alarm ringtone"); //returns to the current activity when the setting is completeStartactivityforresult (Intent, buttonalarm); } } }); /*Set notification ringtone*/Mbuttonnotification.setonclicklistener (NewButton.onclicklistener () {@Override Public voidOnClick (View arg0) {if(Bfolder (Strnotificationfolder)) {//turn on system ringtone settingsIntent Intent =NewIntent (Ringtonemanager.action_ringtone_picker); //set the ringtone type and titleIntent.putextra (Ringtonemanager.extra_ringtone_type, ringtonemanager.type_notification); Intent.putextra (Ringtonemanager.extra_ringtone_title,"Set notification ringtone"); //returns to the current activity when the setting is completeStartactivityforresult (Intent, buttonnotification); } } }); } /*callback function after setting the ringtone*/@Overrideprotected voidOnactivityresult (intRequestcode,intResultCode, Intent data) { //TODO auto-generated Method Stub if(ResultCode! =RESULT_OK) { return; } Switch(requestcode) { CaseButtonringtone:Try { //get our choice of ringtonesUri Pickeduri =Data.getparcelableextra (Ringtonemanager.extra_ringtone_picked_uri); //Set the ringtone we choose to be the default if(Pickeduri! =NULL) {Ringtonemanager.setactualdefaultringtoneuri (Activity01. This, Ringtonemanager.type_ringtone, Pickeduri); } } Catch(Exception e) {} Break; CaseButtonalarm:Try { //get our choice of ringtonesUri Pickeduri =Data.getparcelableextra (Ringtonemanager.extra_ringtone_picked_uri); //Set the ringtone we choose to be the default if(Pickeduri! =NULL) {Ringtonemanager.setactualdefaultringtoneuri (Activity01. This, Ringtonemanager.type_alarm, Pickeduri); } } Catch(Exception e) {} Break; Casebuttonnotification:Try { //get our choice of ringtonesUri Pickeduri =Data.getparcelableextra (Ringtonemanager.extra_ringtone_picked_uri); //Set the ringtone we choose to be the default if(Pickeduri! =NULL) {Ringtonemanager.setactualdefaultringtoneuri (Activity01. This, Ringtonemanager.type_notification, Pickeduri); } } Catch(Exception e) {} Break; } Super. Onactivityresult (Requestcode, ResultCode, data); } //detects whether the specified folder exists//If it does not exist, create Private Booleanbfolder (String strfolder) {BooleanBtmp =false; File F=NewFile (strfolder); if(!f.exists ()) { if(F.mkdirs ()) {btmp=true; } Else{btmp=false; } } Else{btmp=true; } returnbtmp; }} Ringtone playback: Player=NewMediaPlayer (); Try{player.setdatasource (context, Pickuri); }Catch(Exception e) {e.printstacktrace (); } FinalAudiomanager Audiomanager =(Audiomanager) Context.getsystemservice (Context.audio_service); if(Audiomanager.getstreamvolume (Audiomanager.stream_alarm)!=0) {player.setaudiostreamtype (audiomanager.stream_alarm); Player.setlooping (true); Try{player.prepare (); } Catch(Exception e) {//TODO auto-generated Catch blockE.printstacktrace (); } player.start (); }
android-Ringtones settings and playback