
Security News
How Enterprise Security Is Adapting to AI-Accelerated Threats
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.
@thevsstech/react-native-foreground-service
Advanced tools
React native module to start foreground service on android
A foreground service performs some operation that is noticeable to the user. For example, an audio app would use a foreground service to play an audio track. Foreground services must display a notification. Foreground services continue running even when the user isn't interacting with the app.
See the Android official documentation for details on the concept.
$ npm install @voximplant/react-native-foreground-service --save
React Native 0.60+
CLI autolink feature links the module while building the app.
AndroidManifest.xml:
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
AndroidManifest.xml:
<service android:name="com.voximplant.foregroundservice.VIForegroundService" android:stopWithTask="true"> </service>
React Native <= 0.59
$ react-native link @voximplant/react-native-foreground-service
AndroidManifest.xml:
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
AndroidManifest.xml:
<service android:name="com.voximplant.foregroundservice.VIForegroundService" android:stopWithTask="true"> </service>
android/app/src/main/java/[...]/MainActivity.java
import com.voximplant.foregroundservice.VIForegroundServicePackage; to the imports at the top of the filenew VIForegroundServicePackage() to the list returned by the getPackages() methodandroid/settings.gradle:
include ':@voximplant_react-native-foreground-service'
project(':@voximplant_react-native-foreground-service').projectDir = new File(rootProject.projectDir, '../node_modules/@voximplant/react-native-foreground-service/android')
android/app/build.gradle:
implementation project(':@voximplant_react-native-foreground-service')
AndroidManifest.xml:
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
AndroidManifest.xml:
<service android:name="com.voximplant.foregroundservice.VIForegroundService"> </service>
Demo application: react-native-foreground-service-demo
import VIForegroundService from '@voximplant/react-native-foreground-service';
Since the foreground service must display a notification, for Android 8+ it is required to create a notification channel first:
const channelConfig = {
id: 'channelId',
name: 'Channel name',
description: 'Channel description',
enableVibration: false
};
VIForegroundService.createNotificationChannel(channelConfig);
async startForegroundService() {
const notificationConfig = {
channelId: 'channelId',
id: 3456,
title: 'Title',
text: 'Some text',
icon: 'ic_icon'
};
try {
await VIForegroundService.startService(notificationConfig);
} catch (e) {
console.error(e);
}
}
VIForegroundService.stopService();
static async startService(notificationConfig)
Starts the foreground service and displays a notification with the defined configuration
static async stopService()
Stops the foreground service
static async createNotificationChannel(channelConfig)
Creates a notification channel for the foreground service. For Android 8+ the notification channel should be created before starting the foreground service
NotificationChannelConfig
| Property name | Description | Required |
|---|---|---|
| id | Unique channel id | yes |
| name | Notification channel name | yes |
| description | Notification channel description | no |
| importance | Notification channel importance. One of:
| no |
| enableVibration | Sets whether notification posted to this channel should vibrate. False by default. | no |
NotificationConfig
| Property name | Description | Required |
|---|---|---|
| channelId | Notification channel id to display the notification | yes (Android 8+ only) |
| id | Unique notification id | yes |
| title | Notification title | yes |
| text | Notification text | yes |
| icon | Icon name | yes |
| priority | Priority of this notification. One of:
| no |
FAQs
React native module to start foreground service on android
We found that @thevsstech/react-native-foreground-service demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.