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'е писать и может чего-то очевидного не вижу. Буду очень рад вашему ответу. Заранее спасибо!


Ответы (0 шт):