react-native-push-notification icon indicating copy to clipboard operation
react-native-push-notification copied to clipboard

Unstable push notifications on Android 12

Open trinhnguyen81 opened this issue 3 years ago • 4 comments

Bug

Unstable push notifications on Android 12 on Android 9 or 10 it's still okay

Environment info

react-native info output:

System:
    OS: macOS 11.6
    CPU: (4) x64 Intel(R) Core(TM) i5-3340M CPU @ 2.70GHz
    Memory: 86.71 MB / 8.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.0.0 - ~/.nvm/versions/node/v16.0.0/bin/node
    Yarn: 1.22.18 - ~/.nvm/versions/node/v16.0.0/bin/yarn
    npm: 7.10.0 - ~/.nvm/versions/node/v16.0.0/bin/npm
    Watchman: 2022.03.21.00 - /usr/local/bin/watchman
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
  IDEs:
    Android Studio: 2021.1 AI-211.7628.21.2111.8193401
    Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
  npmPackages:
    react: 16.8.6 => 16.8.6
    react-native: 0.60.6 => 0.60.6

Library version: ^8.1.1

Steps To Reproduce

I created a channel like this PushNotification.createChannel( { channelId, // (required) channelName: 'Channel', // (required) importance: Importance.HIGH, // (optional) default: Importance.HIGH. Int value of the Android notification importance vibrate: true, // (optional) default: true. Creates the default vibration pattern if true. playSound: true, soundName: "beeps.mp3" }, (created) => console.log(createChannel returned '${created}') // (optional) callback returns whether the channel was created, false means it already existed. );

then create a list schedule push with time different like this const localNotificationSchedule = (id, time, message, sound, playSound = true, vibrate = true) => { const option = { autoCancel: true, largeIcon: 'ic_launcher', vibrate, vibration: 300, playSound, priority: 'high', importance: 'high', soundName: sound, ignoreInForeground: true, userInfo: { id: Number(id) }, message, date: new Date(time) } if (IS_ANDROID) { const channelId = getChannelIdBySound({sound, playSound, vibrate})

option.channelId = channelId

} PushNotification.localNotificationSchedule(option) }

Actually: it does not push correct time, it will accumulate and push 1 time, you can check image below 1672917503091

Describe what you expected to happen:

I wan to push correct time, pls help me

trinhnguyen81 avatar Jan 05 '23 13:01 trinhnguyen81

Do something like this to set a correct time: const getCorrectDate = () => { const date = new Date(); date.setDate(date.getDate() + 1); date.setHours(23); date.setMinutes(54); return date; };

ajalasegun1 avatar Jan 10 '23 21:01 ajalasegun1

hi @ajalasegun1 not same that, but it works well on every version os, only without Android 12 and ios 16 :(

trinhnguyen81 avatar Jan 11 '23 02:01 trinhnguyen81

@trinhnguyen81 have you found solution?

Arkan4ik avatar Feb 24 '23 16:02 Arkan4ik

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 30 days if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Feb 25 '24 00:02 github-actions[bot]