当我的 PreferenceActivity(SettingActivity) 中的用户 select 选项时,如何隐藏通知

How can I hide notification, when user select option from my PreferenceActivity(SettingActivity)

我正在为我的 SettingActivity 使用首选项概念,并且我有一个用于通知的 SwitchPreference 切换按钮 on/off,但是当用户切换到关闭通知时,可以编写关闭通知的代码。

我猜你也可以通过获取 getDefaultSharedPreferences 来做到这一点,如果你使用的是 FCM 那么这里是你如何做到这一点。

 public class MyFirebaseMessagingService extends FirebaseMessagingService {
    private static final String TAG = "MyFirebaseMsgService";
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
     //here decide by getting the value of your preference manager
     SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

     if (preferences.getBoolean("your_switch", true)){
          // Your switch is on
          displayNotification();
     } else {
          // Your switch is off
          return;
     }

  }

 }

您无法在 android 中以编程方式打开或关闭通知设置。相反,如果您使用的是 Firebase 云消息传递 (FCM),则可以在 "FirebaseMessagingService()" class 中编写逻辑以不生成任何通知。但这仅在您的应用处于前台状态时才有效。如果您的应用处于后台状态或未处于后台状态 运行,则 Firebase 发送的通知将显示在通知栏中。

有关在 android 中使用 FCM 接收通知的更多信息,请参阅此 link