我正在为我的 SettingActivity 使用 Preferences 概念,并且我有一个 SwitchPreference 切换按钮用于通知开/关,但是当用户切换到关闭通知时,可以编写关闭通知的代码。
问问题
955 次
2 回答
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;
}
}
}
于 2018-01-12T06:55:06.197 回答
0
您不能在 android 中以编程方式打开或关闭通知设置。相反,如果您使用 Firebase Cloud Messaging (FCM),您可以在“FirebaseMessagingService()”类中编写逻辑以不生成任何通知。但这仅在您的应用程序处于前台状态时才有效。如果您的应用处于后台状态或未运行,则 Firebase 发送的通知将显示在通知托盘中。
有关在 android 中使用 FCM 接收通知的更多信息,请参阅此链接。
于 2018-01-12T08:38:37.090 回答