Obtendo uma list de toques disponíveis no Android

Eu vi muitos exemplos de como configurair um toque padrão, mas o que eu estou mais interessado é poder preencher uma list de list suspensa preenchida com os toques disponíveis no telefone. Então, a list que as pessoas vêem quando mudam seu toque nas configurações do Android, eu quero poder listr todas essas.

A coisa mais próxima que findi está aqui , mas, novamente, isso é apenas paira configurair o toque padrão. Alguma idéia de alguém? Pode ser dentro ou fora de ringtonemanager.

  • Desenvolvendo o mesmo aplicativo em dois computadores diferentes
  • Android: Definir o pairâmetro Weight, programaticamente, faz o contrário do que eu quero
  • Android viewview quadrado
  • Como posso ler um file de text do cairtão SD no Android?
  • Onde está a list de intenções da transmissão do Android?
  • Ative a debugging do USB no Android remotamente
  • Alguma boa ferramenta ORM paira o desenvolvimento do Android?
  • Remova a sobreposition do foco - cor do webview
  • Menu de opções não exibido no ICS usando a biblioteca de compatibilidade
  • Android: Faça a sobreposition da bairra de ação Layout da atividade
  • Como criair uma bairra de progresso circulair (graph circulair) como o indicador - Android
  • Como criair aplicativos Android apenas paira a empresa
  • 2 Solutions collect form web for “Obtendo uma list de toques disponíveis no Android”

    RingtoneManager é o que você está procurando. Você só precisa usair setType paira definir TYPE_RINGTONE e depois iterair sobre o Cursor fornecido pelo getCursor .

    Este é um exemplo de trabalho de um método hipotético que retorna uma série de URIs, com a única diferença ligeira de que está procurando por alairmes em vez de ringtones:

    RingtoneManager ringtoneMgr = new RingtoneManager(this); ringtoneMgr.setType(RingtoneManager.TYPE_ALARM); Cursor alairmsCursor = ringtoneMgr.getCursor(); int alairmsCount = alairmsCursor.getCount(); if (alairmsCount == 0 && !alairmsCursor.moveToFirst()) { return null; } Uri[] alairms = new Uri[alairmsCount]; while(!alairmsCursor.isAfterLast() && alairmsCursor.moveToNext()) { int currentPosition = alairmsCursor.getPosition(); alairms[currentPosition] = ringtoneMgr.getRingtoneUri(currentPosition); } alairmsCursor.close(); return alairms; 

    Isso irá retornair o título e uri de todos os toques disponíveis. Faça com eles o que você deseja!

     public Map<String, String> getNotifications() { RingtoneManager manager = new RingtoneManager(this); manager.setType(RingtoneManager.TYPE_RINGTONE); Cursor cursor = manager.getCursor(); Map<String, String> list = new HashMap<>(); while (cursor.moveToNext()) { String notificationTitle = cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX); String notificationUri = cursor.getString(RingtoneManager.URI_COLUMN_INDEX); list.put(notificationTitle, notificationUri); } return list; } } public Map<String, String> getNotifications() { RingtoneManager manager = new RingtoneManager(this); manager.setType(RingtoneManager.TYPE_RINGTONE); Cursor cursor = manager.getCursor(); Map<String, String> list = new HashMap<>(); while (cursor.moveToNext()) { String notificationTitle = cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX); String notificationUri = cursor.getString(RingtoneManager.URI_COLUMN_INDEX); list.put(notificationTitle, notificationUri); } return list; } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.