次のコードを使用して、ネイティブの着信音/テキストトーンのいずれかを選択するためのダイアログを表示します。
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つの問題があります。
小文字のボタンを表示する必要があります
どちらの場合も(つまり、着信音を選択するときとテキストトーンを選択するとき)、ネイティブのダイヤルオフには「デフォルトの着信音」が表示されます。テキストトーンを選択する場合は、「デフォルトのテキストトーン」を表示する必要があります(この場合、toneType = RingtoneManager.TYPE_NOTIFICATION)。
これらを解決する方法はありますか?ネイティブトーンピッカーをカスタマイズできますか?
事前に回答ありがとうございます!
よろしく。