启用或禁用通知颤动

Posted

技术标签:

【中文标题】启用或禁用通知颤动【英文标题】:to enable or disable the notification flutter 【发布时间】:2020-09-05 05:11:01 【问题描述】:

我想通过一个按钮来启用/禁用通知服务,当这个按钮被启用时,用户会收到通知,当它被禁用时他不会收到任何通知。

import 'dart:io';

import 'package:firebase_messaging/firebase_messaging.dart';

class FirebaseNotifications 
  FirebaseMessaging _firebaseMessaging;

  void setUpFirebase() 
    _firebaseMessaging = FirebaseMessaging();
    firebaseCloudMessaging_Listeners();

  

  void firebaseCloudMessaging_Listeners() 
    if (Platform.isios) iOS_Permission();

    _firebaseMessaging.getToken().then((token) 
      print(token);
    );

    _firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async 
        print('on message $message');
      ,
      onResume: (Map<String, dynamic> message) async 
        print('on resume $message');
      ,
      onLaunch: (Map<String, dynamic> message) async 
        print('on launch $message');
      ,
    );
  

  void iOS_Permission() 
    _firebaseMessaging.requestNotificationPermissions(
        IosNotificationSettings(sound: true, badge: true, alert: true));
    _firebaseMessaging.onIosSettingsRegistered
        .listen((IosNotificationSettings settings) 
      print("Settings registered: $settings");
    );
  

enter image description here

【问题讨论】:

你找到解决这个问题的方法了吗? 【参考方案1】:

你应该做的是在实现通知时为用户订阅一个主题

FirebaseMessaging.instance.subscribeToTopic ('news');

如果此用户想要停用通知,您只需取消订阅该主题即可

FirebaseMessaging.instance.unsubscribeFromTopic ('news');

显然,当您从后端或控制台发送通知时,您必须指定此主题“新闻”或您决定放置的名称

【讨论】:

以上是关于启用或禁用通知颤动的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用或启用onMessageReceived的firebase推送通知?

iOS:如果之前启用,则禁用远程通知

如何启用和禁用解析推送通知 Android

从设置应用程序 ios 获取推送通知启用/禁用事件?

如何启用或禁用错过的呼叫skype for business通知

在 Windows XP/7/8 中获取有关音频设备启用/禁用通知的方法