4

次のコードを使用して、ネイティブの着信音/テキストトーンのいずれかを選択するためのダイアログを表示します。

private void showTonePicker(int toneType, String pickerTitle) {
[...]

Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);

    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, toneType);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, pickerTitle);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
    intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, userTone.equals(TFSettings.SILENT_TONE_ID) ? null : Uri.parse(userTone));
    startActivityForResult(intent, (toneType == RingtoneManager.TYPE_RINGTONE ? 1 : 2));
}

上記のメソッドを次のように呼び出します。

  • テキストトーンを選択する場合:showTonePicker(RingtoneManager.TYPE_NOTIFICATION、getString(R.string.texting_tone));
  • 着信音を選択する場合:showTonePicker(RingtoneManager.TYPE_RINGTONE、getString(R.string.ringing_tone));

解決すべき2つの問題があります。

  1. 小文字のボタンを表示する必要があります

  2. どちらの場合も(つまり、着信音を選択するときとテキストトーンを選択するとき)、ネイティブのダイヤルオフには「デフォルトの着信音」が表示されます。テキストトーンを選択する場合は、「デフォルトのテキストトーン」を表示する必要があります(この場合、toneType = RingtoneManager.TYPE_NOTIFICATION)。

これらを解決する方法はありますか?ネイティブトーンピッカーをカスタマイズできますか?

事前に回答ありがとうございます!

よろしく。

4

3 に答える 3

0

デフォルトの着信音を設定するには、最初に EXTRA_RINGTONE_EXISTING_URI を設定する必要があります。

intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, ringtoneUri);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, ringtoneUri);
于 2013-04-06T21:55:12.053 に答える
0

ネイティブ トーン ピッカーをカスタマイズできますか?

いいえ、申し訳ありませんが、あなたが説明したアイテムに関してではありません. これには独自の UI を構築する必要があります。

于 2019-03-18T12:02:25.667 に答える