2

当用户打开应用程序但在文档中的任何地方都找不到该方法时,我正在查看react-native-push-notification中的重置应用程序徽章编号,知道吗?

4

3 回答 3

4

https://facebook.github.io/react-native/docs/pushnotificationios.html#setapplicationiconbadgenumber

  PushNotificationIOS.getApplicationIconBadgeNumber((num)=>{ // get current number
        if(num >= 1){
            PushNotificationIOS.setApplicationIconBadgeNumber(0) //set number to 0
        }
    });

PushNotificationIOS从反应原生导入

于 2019-04-29T05:28:40.953 回答
2

您可以将其添加到您的 AppDelegate.m,当应用程序打开或进入后台时,它将设置徽章计数为 0。

- (void)applicationDidBecomeActive:(UIApplication *)application{
   [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
 }

-(void)applicationDidEnterBackground:(UIApplication *)application{
   [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
 }

或者

在 app.js 中(如果使用反应钩子),当应用程序变为活动或进入后台时,也会重置徽章计数

import { AppState } from 'react-native';

 useEffect(() => {
    AppState.addEventListener("change", _handleAppStateChange);

    return () => {
      AppState.removeEventListener("change", _handleAppStateChange);
    };
  }, []);

  const _handleAppStateChange = (nextAppState) => {
    if (Platform.OS === 'ios' && nextAppState === 'active' || nextAppState === 'background') {
      PushNotificationIOS.setApplicationIconBadgeNumber(0);
    }
  }
于 2020-11-29T10:39:17.020 回答
1

很简单

import PushNotification from 'react-native-push-notification';


...
...


  
PushNotification.setApplicationIconBadgeNumber(0); //magic
于 2021-08-28T08:28:36.490 回答