Prima la sezione sulla scelta della suoneria dalle SharedPreferences o di default:
bttSuona.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
Uri ringtoneUri=null;
Ringtone ringtone=null;
String stringSuoneria=sp.getString("suoneria","");
if(TextUtils.isEmpty(stringSuoneria)){
ringtoneUri=RingtoneManager.getActualDefaultRingtoneUri(
getApplicationContext(),
RingtoneManager.TYPE_NOTIFICATION);
}else{
ringtoneUri=Uri.parse(stringSuoneria);
}
ringtone=RingtoneManager.getRingtone(
getApplicationContext(),
ringtoneUri);
ringtone.play();
}
});
Funziona! Cancellando le SharedPreferences, viene invocata la suoneria di default.Ora la parte che serve per settare la suoneria.
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
Intent intent=new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_NOTIFICATION);
startActivityForResult(intent,0);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Uri uri=data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
editor.putString("suoneria",uri.toString());
editor.apply();
}
Vediamo se funziona...Funziona!
Distruggo e riscrivo senza sbirciare:
bttSuona.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
Uri ringtoneUri;
Ringtone ringtone;
String strSuoneria=sp.getString("suoneria","");
if(TextUtils.isEmpty(strSuoneria)){
ringtoneUri=RingtoneManager.getActualDefaultRingtoneUri(
getApplicationContext(),
RingtoneManager.TYPE_NOTIFICATION);
}else{
ringtoneUri=Uri.parse(strSuoneria);
}
ringtone=RingtoneManager.getRingtone(getApplicationContext(),
ringtoneUri);
ringtone.play();
}
});
Ora riscrivo la seconda parte per la scelta della suoneria.
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
Intent intent=new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_NOTIFICATION);
startActivityForResult(intent,0);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Uri uri=data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
editor.putString("suoneria", uri.toString());
editor.apply();
}
}
Credo di aver memorizzato abbastanza...