getApplicationDocumentsDirectory().then((directory) {
_localPath = directory.path;
});
Не гарантирует, что _localPath будет загружаться во время вызова _decideImageView (). Добавьте печать, чтобы проверить это:
_decideImageView() {
print(_localPath);
if(FileSystemEntity.typeSync('$_localPath/name.jpg') == FileSystemEntityType.notFound){
return AssetImage("assets/example.jpeg");
}else {
return FileImage(File('$_localPath/name.jpg'));
}
Эта работа для меня после перезагрузки / перезапуска приложения:
_decideImageView(BuildContext context) async {
Directory pathd = await getApplicationDocumentsDirectory();
return Navigator.of(context)
.push(MaterialPageRoute<void>(builder: (BuildContext context) {
return Scaffold(
body: Container(
color: Colors.transparent,
alignment: Alignment.center,
child: InkWell(
child: PhotoView(
imageProvider: FileImage(File('${pathd.path}/name.jpg')),
backgroundDecoration: BoxDecoration(color: Colors.transparent),
minScale: PhotoViewComputedScale.contained * 0.9,
maxScale: 4.0,
),
onTap: () => Navigator.of(context).pop(),
),
),
);
}));
}