Flutter Как менять стандартный рингтон на мелодию из assets файла?
Я следовал инструкции с англоязычного сайта , но не смог сделать то что хотел.
Мне нужно при нажатии кнопки сменить рингтон по умолчанию на тот что находится у меня в папке assets
Так выглядит кнопка:
Expanded(
child: RaisedButton(
child: Text(" Set as ringtone "),
onPressed: () => widget.set,
color: Colors.grey[900],
textColor: Colors.white,
splashColor: Colors.white,
padding:
EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
shape: RoundedRectangleBorder(
borderRadius:BorderRadius.circular(18.0),
side: BorderSide(color: Colors.red)),
)),
И это то к чему относится widget.set:
set(){
if(android.provider.Settings.System.canWrite(context)){
RingtoneManager();
return ();}
else{
openAndroidPermissionsMenu();
return ();}
}
openAndroidPermissionsMenu(){
var intent:Intent = Intent(android.provider.Settings.ACTION_MANAGE_WRITE_SETTINGS);
intent.setData(Uri.parse("package:" + context.getPackageName()));
context.startActivity(intent);
}
var storage_path = File(Environment.getExternalStorageDirectory(),"${music.path}") //where music.path = ringtone.mp3 from assets file var the_uri = Uri.fromFile(storage_path)
RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTON,the_uri); Toast.makeText(context, " Ringtone has been changed ", Toast.LENGTH_SHORT).show();
И вот эроры которые вылезают:
Я не давно начал на flutter'е писать и может чего-то очевидного не вижу. Буду очень рад вашему ответу. Заранее спасибо!
