In my flutter app I want to load assets depending on condition: is my code running as imported package or as an app I'm currently develop.
The problem is that this try/catch block always fails in try section:
AssetImage _getBackgroundImage() {
try {
return AssetImage(
'lib/assets/images/menu_background.png',
package: 'my_package',
);
} catch (e) {
return AssetImage('lib/assets/images/menu_background.png');
}
}
run output:
======== Exception caught by image resource service ================================================
The following assertion was thrown resolving an image codec:
Unable to load asset: packages/my_package/lib/assets/images/menu_background.png
When the exception was thrown, this was the stack:
#0 PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:227:7)
<asynchronous suspension>
#1 AssetBundleImageProvider._loadAsync (package:flutter/src/painting/image_provider.dart:667:14)
<asynchronous suspension>
Image provider: AssetImage(bundle: null, name: "packages/my_package/lib/assets/images/menu_background.png")
Image key: AssetBundleImageKey(bundle: PlatformAssetBundle#e01ff(), name: "packages/my_package/lib/assets/images/menu_background.png", scale: 1.0)
====================================================================================================