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

时间:2018-01-12 06:38:25

标签: android notifications android-preferences preferences android-push-notification

我在我的SettingActivity中使用了Preferences概念,我有一个SwitchPreference切换按钮,用于通知开/关,但是当用户切换到关闭通知时,可以编写关闭通知的代码。

2 个答案:

答案 0 :(得分:1)

我想您也可以通过 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;
     }

  }

 }

答案 1 :(得分:0)

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

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