Notification not showing on Android 13 and higher
A notification will be shown when the task is running, it is not possible to start the service without it. The notification will only be visible in Android.
this is no longer true for Android 13 and higher when using React Native 0.73 or higher (I think or maybe all versions) Think it has to do with the target sdk bump. For some reason the backround task is still running in background for me without a notification which I thought was required. Though maybe it will get killed eventually because of this?
This is how I solved it but maybe this should be in docs? and maybe in implementation?
useEffect(() => {
const askForPermissionsAndStartBackgroundService = async () => {
const notificationsAllowed = await askForPostNotificationsPermission();
if (!notificationsAllowed) return;
await BackgroundService.start(
...config,
);
};
askForPermissionsAndStartBackgroundService();
}, []);
export async function askForPostNotificationsPermission(): Promise<boolean> {
if (Platform.OS !== 'android') return false;
if (Platform.Version < 33) return false; // Only request for Android versions 13 and above
try {
const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS, {
title: 'Notification Permission',
message: 'We need your permission to show you notifications',
buttonNeutral: 'Ask Me Later',
buttonNegative: 'Cancel',
buttonPositive: 'OK',
});
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log('Permission Granted. You can now receive notifications.');
return true;
} else if (granted === PermissionsAndroid.RESULTS.DENIED) {
console.log('Permission Denied. Notification permission is required.');
} else if (granted === PermissionsAndroid.RESULTS.NEVER_ASK_AGAIN) {
console.log('Permission Blocked. Notification permission has been blocked.');
Alert.alert('Notification has not been granted!', 'Please long press on app icon, select App Info, select Notifications and enable all notifications.');
}
} catch (e) {
console.warn('requestPostNotificationsPermission error', e);
}
return false;
}
I tried asking for permission POST_NOTIFICATIONS on Android 13, but application crashes
@andidev @muramidaza Any progress? I am facing the same issue. App Crashes.
This worked fine to me, @andidev you're live a saver.
If anyone is seeing this dont forget to put
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
on android/app/src/main/AndroidManifest.xml
Hi @andidev
Could you please confirm if there is any ongoing fix or recommended workaround for keeping the notification truly persistent on Android?
It doesn’t work for me. The notification still doesn't appear. developer.android.com also says that it’s not necessary to request the POST_NOTIFICATIONS permission at runtime.