【问题标题】:How to add local image to flutter_local_notifications如何将本地图像添加到flutter_local_notifications
【发布时间】:2021-10-16 05:43:36
【问题描述】:

我正在尝试创建推送通知并想在通知中添加图片。我可以添加来自网络的图像,如下面的屏幕截图所示。

如何改为添加本地图像?我尝试添加如下所示的文件路径,但它不起作用:

【问题讨论】:

    标签: flutter flutter-local-notification


    【解决方案1】:

    您添加的文件路径是您项目的根路径,但此方法需要一个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');
    

    【讨论】:

    • 你有什么想法我可以在 android 端做同样的事情吗?
    • @marcorivera8 请用你的安卓代码更新问题
    猜你喜欢
    • 2017-03-24
    • 1970-01-01
    • 2019-09-17
    • 2011-02-13
    • 2013-01-28
    • 2020-06-08
    • 2022-11-12
    • 2019-05-13
    • 2013-12-17
    相关资源
    最近更新 更多