21

着信音ピッカーを正常に起動し、次のコードで結果のuriを取得できます...

    selsound_button.setOnClickListener(new OnClickListener()
    {   
        public void onClick(View arg0)
        {
            Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select ringtone for notifications:");
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_ALARM);
            startActivityForResult( intent, 999);   
        }
    });

...しかし、私は次の方法を理解できませんでした:

現在のuriをすでに知っているので、正しいラジオボタンを強調表示できるように、これが現在選択されていることをピッカーに伝えたいと思います。現時点では、ラジオボタンの1つを押すまで、ラジオボタンはまったく選択されていません。

4

2 に答える 2

26

追加する必要があります

   intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, currenturi);

ラジオボタンを設定するには

于 2012-09-18T12:25:01.113 に答える
9

これはあなたのための正確なコードです。

selsound_button.setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {
            final Uri currentTone= RingtoneManager.getActualDefaultRingtoneUri(YourActivity.this, RingtoneManager.TYPE_ALARM);
            Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_ALARM);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Tone");
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, currentTone);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
            startActivityForResult(intent, TONE_PICKER);
        }

    });
于 2015-10-06T09:13:50.077 に答える