flutter - 如何将本地图像添加到flutter_local_notifications
解决方案
您添加的文件路径是项目的根路径,但此方法需要一个 android 文件路径(例如/storage/emulated/0/Android/data/com.expampe.app/cache/bg.png
),因此您必须将资产图像转换为文件并保存,然后返回其路径:
import 'dart:async';
import 'dart:io';
import 'package:flutter/services.dart' show rootBundle;
import 'package:path_provider/path_provider.dart';
Future<String> getImageFilePathFromAssets(String asset) async {
final byteData = await rootBundle.load(asset);
final file =
File('${(await getTemporaryDirectory()).path}/${asset.split('/').last}');
await file.writeAsBytes(byteData.buffer
.asUint8List(byteData.offsetInBytes, byteData.lengthInBytes));
return file.path;
}
那么就
final attachmentPicturePath = await getImageFilePathFromAssets('assets/image2.jpg');
推荐阅读
- linux - 如何将不同用户的shell脚本中的变量导出到当前用户?
- sql - 如何归档一个巨大的 postgres 表?
- c++ - 顶点着色器中的采样返回缓冲区始终返回 0 和 float1 而不是 float4
- excel - 如何根据下拉菜单隐藏行?
- javascript - 使用单个代码库(下一个 js)配置多域和多区域 Web 应用程序
- amazon-web-services - CloudFormation 非必需属性的默认值
- python - Nlopt 在 add_inequality_constraint 的 Constraints 函数中没有捕获 ForcedStop
- apache-kafka - Kafka ConsumerGroupState 解释
- php - 错误代码 400:无效值 - Google Play IAP 验证失败
- c++ - 为对话框启用关闭按钮 c++ winapi