こんにちは。結城栽培ともうします。
まだ勉強中の身ですが、私も同じような所で迷ったことがあるので
何かの助けになればと思いソースコードを載せさせて頂きます。
以下のソースはPreferenceActivityにおいて着信音(と言うよりは通知音なのですが)を取得する時のソースです。
設定画面で通知音を設定し、そのタイトルを一部Stringで取り出す予定があったため一度配列に入れております。
RingtoneManager ringtoneManager = new RingtoneManager(getApplicationContext());
ringtoneManager.setType(RingtoneManager.TYPE_NOTIFICATION);
Cursor cursor = ringtoneManager.getCursor();
ArrayList<String> tmpIndex = new ArrayList<String>();
ArrayList<String> tmpName = new ArrayList<String>();
while (cursor.moveToNext()) {
tmpIndex.add(cursor.getString(RingtoneManager.ID_COLUMN_INDEX));
tmpName.add(cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX));
}
これを
ListPreference listPreference = new ListPreference(this);
listPreference.setEntries(entries);
listPreference.setEntryValues(entVals);
に各自セットしたものをaddPreferenceすることで私の要求を実現することができました。
なぜプリセットのものしか出ないのかは私もわからずこの方法を取りました。
着信音としての登録ができているのであればこのやり方で呼び出すことも出来ると思います。
先日このグループに加入したばかりでこのように返信しても良いのかわかりませんでしたが、
参考になれば幸いです。
2012年4月26日木曜日 15時11分32秒 UTC+9 rinda: