2012-09-12 12 views
19

posso portare con successo un selettore suoneria e ottenere un URI risultante con il seguente codice ...Suoneria picker - pulsante di opzione impostato

selsound_button.setOnClickListener(new OnClickListener() 
    { 
     public void onClick(View arg0) 
     { 
      Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); 
      intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select ringtone for notifications:"); 
      intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false); 
      intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true); 
      intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_ALARM); 
      startActivityForResult(intent, 999); 
     } 
    }); 

... ma ho mancato di capire come fare il seguente:

Dato che conosco già l'uri corrente, desidero dire al selezionatore che questo è attualmente selezionato in modo che possa avere il pulsante di opzione corretto evidenziato. Al momento nessuno dei radiobutton viene selezionato fino a quando non ne premo uno.

risposta

22

è necessario aggiungere

intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, currenturi); 

per impostare il pulsante radio

6

Questo è il codice esatto per voi.

selsound_button.setOnClickListener(new OnClickListener() { 

     public void onClick(View arg0) { 
      final Uri currentTone= RingtoneManager.getActualDefaultRingtoneUri(YourActivity.this, RingtoneManager.TYPE_ALARM); 
      Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); 
      intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_ALARM); 
      intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Tone"); 
      intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, currentTone); 
      intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false); 
      intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true); 
      startActivityForResult(intent, TONE_PICKER); 
     } 

    }); 
+0

Questa soluzione aggiungerà un nuovo elemento "Suoneria predefinita" e selezionarlo. ma vorrei che selezionasse l'oggetto esatto. Se si cambia solo EXTRA_RINGTONE_SHOW_DEFAULT su false, sembra che non verrà selezionato nulla. – lucky1928

+0

In Android 4.2.2 mostra una finestra di dialogo sullo schermo e consente all'utente di eseguire l'azione richiesta. Possiamo posizionare quella finestra di dialogo a schermo intero in quel momento? –

Problemi correlati