Skip to content Skip to sidebar Skip to footer

Android - How To Set Mp3 As Ringtone

File newSoundFile = new File('pathFile'); if (DebugUtil.DEBUG) { DebugUtil.logError(new Exception(), newSoundFile.getAbsolutePath()); } ContentV

Solution 1:

I saw many posts but anyone showed what i should actually have to do. So i decided to create this complete answer. The only think you actually need is a button. Lets start.

Here is my MainActivity.java which i used

publicclassMainActivityextendsActivity {     

        @OverridepublicvoidonCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        b2 = (Button) findViewById(R.id.button2);
        b2.setOnClickListener(newOnClickListener(){

            @OverridepublicvoidonClick(View arg0) {

            Intentintent1=newIntent();  
                intent1.setAction(Intent.ACTION_GET_CONTENT);  
                intent1.setType("audio/*"); 
                startActivityForResult(Intent.createChooser(intent1, "Choose Sound File"), 6);



            }

        });

            }




    @OverrideprotectedvoidonActivityResult(int requestCode, int resultCode, Intent data) {
    if(resultCode ==RESULT_OK&&requestCode==6){
    Urii= data.getData(); //getDATAStrings= = i.getPath(); //getPathFilek=newFile(s); //set File from pathif(s!=null){  //(file.existsContentValuesvalues=newContentValues();
       values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
       values.put(MediaStore.MediaColumns.TITLE, "ring");
       values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
       values.put(MediaStore.MediaColumns.SIZE, k.length());
       values.put(MediaStore.Audio.Media.ARTIST, R.string.app_name);
       values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
       values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
       values.put(MediaStore.Audio.Media.IS_ALARM, true);
       values.put(MediaStore.Audio.Media.IS_MUSIC, false);

       Uriuri= MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
       getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + k.getAbsolutePath() + "\"", null);
    UrinewUri= getContentResolver().insert(uri, values);


       try {
           RingtoneManager.setActualDefaultRingtoneUri(MainActivity.this, RingtoneManager.TYPE_RINGTONE, newUri);
       } catch (Throwable t) {

       }    
}


    }



    }



    } 

Lastly its really important to add those permisions in your AndroidManifest.xml for example if you dont add the permision to write external storage your app will crash like mine.. xD

What you need:

<uses-permissionandroid:name="android.permission.WRITE_SETTINGS" ></uses-permission><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permissionandroid:name="android.permission.CHANGE_CONFIGURATION" ></uses-permission><uses-permissionandroid:name="android.permission.MODIFY_AUDIO_SETTINGS" ></uses-permission>

You can try my app on Google Play : BackAtel Audio Manager

Hope that helps.... my problem is now solved!! i hope that i solved your problem too :))

Post a Comment for "Android - How To Set Mp3 As Ringtone"