2012-04-26 166 views
1

我想執行的申請獲得從RingtoneManager.I一個列表中的所有鈴聲名稱已經實現我的申請將所有鈴聲這在設備可用如下:如何從android鈴聲管理器中獲取鈴聲列表?

Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); 
    startActivity(intent); 

開始時,我的應用程序我得到一個對話框。在那個對話框中,我用一個單選按鈕在列表視圖中設置了鈴聲。我想將該列表中的所有項目打印到我的應用程序中。

如何從默認鈴聲管理器列表中打印所有項目?

回答

2

您是否試過getCursor()方法RingtoneManager

由於每documentation

public Cursor getCursor() 

返回所有可用的鈴聲的光標。返回的遊標將是每次調用此方法時返回的相同遊標,所以不要關閉()遊標。光標可以安全地關閉()。 如果沒有使用RingtoneManager(Activity),則調用者應該通過其活動的生命週期來管理返回的遊標,以防止遊標泄漏。

0

你可以做

RingtoneManager ringtoneManager = new RingtoneManager(yourActivity); 
    ringtoneManager.setType(RingtoneManager.TYPE_RINGTONE); 
    Cursor cursor = ringtoneManager.getCursor(); 
    while (cursor.moveToNext()) { 
    System.out.println(cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX)); 
    System.out.println(cursor.getString(RingtoneManager.URI_COLUMN_INDEX)); 
    }