How to get current ringtone in Android?

后端 未结 6 1311
情书的邮戳
情书的邮戳 2020-12-10 04:50

I have found lots of examples how to get default ringtone. Something like that:

Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
            


        
相关标签:
6条回答
  • 2020-12-10 05:06

    Here is the solution.

    Inside onActivityResult:

    Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);  
    Ringtone r=RingtoneManager.getRingtone(this, uri); 
    String ringToneName=r.getTitle(this);
    Toast.makeText(getApplicationContext(), "Ringtone Name : "+ringToneName,Toast.LENGTH_SHORT).show();
    

    But it will show exception in emulator because there is no ringtone in emulator so execute this in mobile

    0 讨论(0)
  • 2020-12-10 05:08

    I was struggling with this issue as well, so the solution is:

    Uri defaultRingtoneUri = RingtoneManager.getActualDefaultRingtoneUri(getActivity().getApplicationContext(), RingtoneManager.TYPE_RINGTONE);
    Ringtone defaultRingtone = RingtoneManager.getRingtone(getActivity(), defaultRingtoneUri);
    
    0 讨论(0)
  • 2020-12-10 05:09

    I've also searched a lot for your problem which I also had. At last got solution from this itself.

    Use below code in the button for ringtone intent.

    public void pickRingtone(View view) {
            // TODO Auto-generated method.stub
    
            Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Ringtone");
    
        // for existing ringtone
            Uri urie = RingtoneManager.getActualDefaultRingtoneUri(
                    getApplicationContext(), RingtoneManager.TYPE_RINGTONE);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, urie);
    
        startActivityForResult(intent, 5);
    }
    
    0 讨论(0)
  • 2020-12-10 05:11

    This is the extension of dgabor's answer. Just add defaultRingtone.play(); to play the ringtone.

    Uri defaultRintoneUri = RingtoneManager.getActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE);
    Ringtone defaultRingtone = RingtoneManager.getRingtone(getApplicationContext(), defaultRintoneUri);
    defaultRingtone.play();
    
    0 讨论(0)
  • 2020-12-10 05:13

    Try with:

    Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI);
    
    0 讨论(0)
  • 2020-12-10 05:18

    try this:

    uri default_ringtone_uri = Settings.System.DeFAULT_RINGTONE_URI
    
    Ringtone ringtone = RingtoneManager.getRingtone(context, uri).play();
    
    0 讨论(0)
提交回复
热议问题