15

デフォルトの着信音を設定する方法の例をたくさん見てきましたが、私がもっと興味を持っているのは、電話で利用可能な着信音で満たされたドロップダウン ボックス リストを設定できることです。そのため、Android の設定で着信音を変更したときに表示されるリストをすべてリストできるようにしたいと考えています。

私が見つけた最も近いものはhere ですが、これもデフォルトの着信音を設定するためのものです。アイデアはありますか?着信音マネージャーの内外にある可能性があります。

4

2 に答える 2

16

RingtoneManagerはあなたが探しているものです。setTypeを使用してTYPE_RINGTONEを設定し、 getCursorによって提供される Cursor を反復処理するだけです。

これは、URI の配列を返す架空のメソッドの実際の例ですが、着信音ではなくアラームを探しているというわずかな違いがあります。

RingtoneManager ringtoneMgr = new RingtoneManager(this);
ringtoneMgr.setType(RingtoneManager.TYPE_ALARM);
Cursor alarmsCursor = ringtoneMgr.getCursor();
int alarmsCount = alarmsCursor.getCount();
if (alarmsCount == 0 && !alarmsCursor.moveToFirst()) {
    return null;
}
Uri[] alarms = new Uri[alarmsCount];
while(!alarmsCursor.isAfterLast() && alarmsCursor.moveToNext()) {
    int currentPosition = alarmsCursor.getPosition();
    alarms[currentPosition] = ringtoneMgr.getRingtoneUri(currentPosition);
}
alarmsCursor.close();
return alarms;
于 2012-09-25T16:39:03.887 に答える