【问题标题】:Setting device wallpaper from flutter app从 Flutter 应用程序设置设备壁纸
【发布时间】:2019-07-11 23:09:24
【问题描述】:
我对编程还很陌生,甚至对flutter 还比较陌生,所以对我来说放轻松哈哈。我目前正在开发我的第一个颤振项目,我想添加从我的应用程序设置壁纸的功能,或者至少将图像下载到设备库。我已经查看了一些可以提供帮助的软件包,即image_downloader 和wallpaper。然而,在将包添加到依赖项并尝试测试示例代码之后,似乎都不适合我。欢迎任何帮助,因为我正在努力弄清楚我需要做什么!
【问题讨论】:
标签:
flutter
flutter-dependencies
【解决方案1】:
就image_downloader 包而言,这是可以正常工作的代码。在使用这个包时你可能会遇到"MissingPluginImplementation" 错误,可以通过按给定顺序运行这两个命令来修复:
flutter clean
flutter run
这是我编写的一个非常有效的方法:
Future<String> download(String url) async {
try {
// Saved with this method.
var imageId = await ImageDownloader.downloadImage(url);
ImageDownloader.callback(onProgressUpdate: (String imageId, int progress){
setState(() {
_progress = progress;
});
});
await pr.show(); // this is progress_dialog package that displays a dialog
if (imageId == null) {
return '';
}
var location = Platform.isAndroid ? "Downloads" : "Photo Library";
// Below is a method of obtaining saved image information.
var fileName = await ImageDownloader.findName(imageId);
var path = await ImageDownloader.findPath(imageId);
var size = await ImageDownloader.findByteSize(imageId);
var mimeType = await ImageDownloader.findMimeType(imageId);
print("Saved $fileName in $location");
return fileName;
} catch (error) {
print(error);
}
}