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