Flutter使用permission_handler请求通知权限不会弹出权限弹窗

news/2025/2/25 12:32:02

Flutter中使用了 permission_handler 插件。

Permission.notification.request()

这样调用,来请求通知权限,怎么弄都不会弹出来权限弹窗。在iOS端上都是正常的。

解决办法:


  Future<void> sendTestNotification() async {
    FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
    FlutterLocalNotificationsPlugin();

    const AndroidInitializationSettings initializationSettingsAndroid =
    AndroidInitializationSettings('@mipmap/ic_launcher');

    const InitializationSettings initializationSettings = InitializationSettings(
      android: initializationSettingsAndroid,
    );

    await flutterLocalNotificationsPlugin.initialize(initializationSettings);

    const AndroidNotificationDetails androidPlatformChannelSpecifics =
    AndroidNotificationDetails('test_channel', 'Test Notifications',
        importance: Importance.min, priority: Priority.min, playSound: false);

    const NotificationDetails platformChannelSpecifics =
    NotificationDetails(android: androidPlatformChannelSpecifics);

    await flutterLocalNotificationsPlugin.show(
        0, '静默发送通知', '这是一条开启权限的静默通知消息', platformChannelSpecifics);
  }

在调用 Permission.notification.request() 之前,如上代码所示,发送一条静默消息,就可以调起权限弹窗。 这样就解决了。 

另外,不只是通知权限, 其他的权限申请,在Flutter上面,最好的做法是先执行再说,比如拍照,应该先直接去调用拍照的API,这样系统就弹出了权限弹框,而不是先调用 .request(),这样不太好,如果申请不到权限,后面的就不执行了。 

可以把permission_handler调用放在拍照的后面,比如拍照的时候调用拍照API,用户没有允许拍照权限,那API会报错,这个时候再去调用 permission_handler 来获取权限结果,根本结果提示用户就行了。 


http://www.niftyadmin.cn/n/5865506.html

相关文章

HarmonyOS NEXT通过关系型数据库实现数据的持久化

场景介绍 应用中&#xff0c;我们有些数据比较复杂&#xff0c;而且需要频繁的增删改查&#xff0c;这时候就不适合使用首选项来进行存储和管理了&#xff0c;HarmonyOS NEXT中的关系型数据库基于SQLite组件&#xff0c;适用于存储包含复杂关系数据。 基本概念 谓词&#xff…

基于TensorFlow.js与Web Worker的智能证件照生成方案

功能简介 本文基于TensorFlow.js与Web Worker实现了常用的“证件照”功能&#xff0c;可以对照片实现抠图并替换背景。值得一提的是&#xff0c;正常抠图的操作应该由后端进行&#xff0c;这里只是主要演示该功能实现步骤&#xff0c;并不建议该功能由前端全权处理。 限于个人技…

星环科技推出DeepSeek全场景解决方案:即开即用、企业级部署、端侧智能三位一体

星环科技&#xff08;688031.SH&#xff09;正式发布DeepSeek全场景解决方案&#xff0c;全面覆盖个人用户、企业客户及行业场景需求&#xff0c;为用户提供从个人到企业、从云端到本地的全方位AI应用支持&#xff0c;为不同需求的用户提供了灵活、高效且安全的AI解决方案。 省…

Java 实现快速排序算法:一条快速通道,分而治之

大家好&#xff0c;今天我们来聊聊快速排序&#xff08;QuickSort&#xff09;算法&#xff0c;这个经典的排序算法被广泛应用于各种需要高效排序的场景。作为一种分治法&#xff08;Divide and Conquer&#xff09;算法&#xff0c;快速排序的效率在平均情况下非常高&#xff…

【qt链接mysql】

首先根据自己qtcreater 下载mysql安装包 将mysql安装目录下的如下目录中的xxx\MySQL\MySQL Server 5.7\lib\libmysql.dll 拷贝到QT目录C:\Qt\5.7\mingw53_32\bin 下&#xff08;当前这个也是我电脑上的Qt路径&#xff0c;请找到你Qt对应的bin路径&#xff09; 直接在文win11上…

【MySQL】表的增删查改(CRUD)(上)

个人主页&#xff1a;♡喜欢做梦 欢迎 &#x1f44d;点赞 ➕关注 ❤️收藏 &#x1f4ac;评论 CRUD&#xff1a;Create&#xff08;新增数据&#xff09;、Retrieve&#xff08;查询数据&#xff09;、Update&#xff08;修改数据&#xff09;、Delete&#xff08;修改数据…

第46天:Web开发-JavaEE应用原生和FastJson反序列化URLDNS链JDBC链Gadget手搓

#知识点 1、安全开发-JavaEE-原生序列化-URLDNS链分析 2、安全开发-JavaEE-FastJson-JdbcRowSetImpl链分析 一、利用链 利用链也叫"gadget chains"&#xff0c;我们通常称为gadget&#xff1a; 1、共同条件&#xff1a;实现Serializable或者Externalizable接口&#…

快速上手 Unstructured:安装、Docker部署及PDF文档解析示例

1. 核心概念 1.1 Unstructured简介 Unstructured 是一个强大的 Python 库,专注于从非结构化数据中提取和预处理文本信息,广泛应用于 PDF、Word 文档、HTML 等多种格式的文件处理。其核心功能包括分区、清理、暂存和分块,能够将复杂的非结构化文档转换为结构化输出,为后续…