0

I am trying a set a ringtone from raw folder The code i used is

//fifavoting14.com is the package name
//Uri path = Uri.parse("android.resource://fifavoting14.com/"+R.raw.ringtone);
        Uri path = Uri.parse("android.resource://fifavoting14.com/R.raw.ringtone"); 
            RingtoneManager.setActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE,path);

and the permission i used is...

<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
nawaab saab
  • 1,892
  • 2
  • 20
  • 36

1 Answers1

0

Try below code:

first you have to store all the values(path,title,size etc) in local db using contentvalues.

File k = new File(path, "mysong.mp3"); // path is a file to /sdcard/media/ringtone

ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "My Song title");
values.put(MediaStore.MediaColumns.SIZE, 215454);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, "Madonna");
values.put(MediaStore.Audio.Media.DURATION, 230);
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
values.put(MediaStore.Audio.Media.IS_ALARM, false);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);

//Insert it into the database
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
Uri newUri = main.getContentResolver().insert(uri, values);

RingtoneManager.setActualDefaultRingtoneUri(myActivity, RingtoneManager.TYPE_RINGTONE, newUri);
Community
  • 1
  • 1
Pankaj Arora
  • 10,224
  • 2
  • 37
  • 59