Per prima cosa, mi serve un pulsante che imposti la suoneria personalizzata dell'App, ossia di quella "telefonata virtuale" che viene fatta dal Coach.
Quindi impostare il tempo di attesa prima che il Coach desista.
Dunque mi servono un pulsante e una SeekBar.
Disegno anzitutto il pulsante.
E veniamo al codice:
public class RingtoneSettings extends Activity { SharedPreferences SP; Button bttRingtones; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ringtone_settings); SP=(SharedPreferences)getApplicationContext().getSharedPreferences("settings", Context.MODE_PRIVATE); bttRingtones=(Button)findViewById(R.id.button1); bttRingtones.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); startActivityForResult(intent,0); } }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data){ Uri ringtoneUri=data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI); SharedPreferences.Editor editor=SP.edit(); editor.putString("suoneria", ringtoneUri.toString()); editor.commit(); } }Sperimentato e funzionante!
Invece nell'Activity Form, che esegue la suoneria:
SP=(SharedPreferences)getApplicationContext().getSharedPreferences("settings", Context.MODE_PRIVATE); String suoneria=SP.getString("suoneria", ""); if(TextUtils.isEmpty(suoneria)){ ringtoneUri=RingtoneManager.getActualDefaultRingtoneUri(getApplicationContext(), RingtoneManager.TYPE_RINGTONE); } else{ ringtoneUri=Uri.parse(suoneria); } ringtone=RingtoneManager.getRingtone(getApplicationContext(), ringtoneUri); ringtone.play(); TimerTask task=new TimerTask(){ @Override public void run() { ringtone.stop(); } }; Timer timer=new Timer(); timer.schedule(task, 10000);Apre la suoneria memorizzata, se non trova nulla esegue la suoneria di default, mentre se la trova la esegue.
Nessun commento:
Posta un commento