当用户打开应用但在文档中的任何位置找不到该方法时,我正在 react-native-push-notification 中查看重置应用程序徽章编号 ,任何想法?
答案 0 :(得分:0)
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
答案 1 :(得分:0)
您可以将其添加到您的AppDelegate.m中,当应用打开或进入后台时,它将设置徽章计数为0。
- (void)applicationDidBecomeActive:(UIApplication *)application{
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}
-(void)applicationDidEnterBackground:(UIApplication *)application{
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}
或
在app.js内(如果使用React钩子),还将在应用程序激活或进入后台时重置徽章计数
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);
}
}