当前位置: 首页 > news >正文

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

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 来获取权限结果,根本结果提示用户就行了。 

相关文章:

  • C语言(13)------------>do-while循环
  • Teigha(ODA<Open Design Alliance>_开放设计联盟)——cad c# 二次开发
  • 英式英语与美式英语的单词拼写差异
  • 第4章 4.3 EF Core 的实体类配置 Data Annatation Fluent API
  • 死锁是什么
  • git 小乌龟安装包及中文包
  • 计网学习————(二)
  • 第十三:路由两个注意点:
  • web组态可视化编辑器
  • C语言函数学习笔记
  • 【js面试】JavaScript中执行栈和执行上下文是什么?
  • GraphRAG如何使用ollama提供的llm model 和Embedding model服务构建本地知识库
  • 【C++11】 并发⽀持库
  • next.js-学习2
  • Python常用的15个标准模块
  • 如何选择适合项目的自动化测试工具?
  • Linux项目自动化构建工具-make/Makefile (linux第六课)
  • DeepSeek 助力 Vue 开发:打造丝滑的文本输入框(Text Input)
  • vue框架后遗症∶被遗忘的dom操作
  • DeepSeek R1模型提示语技巧:如何高效引导AI生成优质内容
  • 专家:新冠病毒流行高峰无明显季节性特征,与人群抗体水平有关
  • 中信银行资产管理业务中心原副总裁罗金辉一审被控受贿超4437万
  • 国家发改委:系统谋划7方面53项配套举措,推动民营经济促进法落地见效
  • 国家话剧院上海演出季7月重启,《大宅门》等5部大戏来沪
  • 连续两个交易日涨停,华夏幸福:生产经营活动正常,不存在影响股价波动的重大事宜
  • 视频丨习近平在河南洛阳市考察调研