voximplant / react-native-foreground-service

React native module to start foreground service on android
MIT License
159 stars 91 forks source link

how to STOP it? #33

Open ilya-lopukhin opened 3 years ago

ilya-lopukhin commented 3 years ago

So guys, i'm a bit desperate here: i'm using it together with react-native-webrtc. The problem is i need to stop it when i swipe the app from the multitasking. On android <= 7 it stops. On higher androids it just keeps going forever. I tried forking the package and implementing the onTaskRemoved(). I tried onDestroy(). I tried declaring android:stopWithTask="true". What i achieved is service being "stopped", notification removed, but the darn stream is still going. So no notification, no clue app is running or something, but the webrtc stream is still perfectly fine. This drives me crazy, any thoughts what i can do? Without react-native-foreground-service at all the whole thing is closing naturally when i kill the app obviously.

ilya-lopukhin commented 3 years ago

So guys to sum up: On Android, i have an ability to KEEP LISTENING to the microphone and streaming audio even after killing the app. I can do this without ANY INDICATION something is running. No notification. App is not in the multitasking. Mic is being recorded. I just find this so BIZARRE from a privacy standpoint. I can do a mic spying app right now and it will run silently without user even noticing it even after he swipes my spy app from the multitasking. Can anyone explain to me what’s happening here? Should i contact any Android maintainers about this?

mohammadrahmanian commented 3 years ago

I have exactly the same issue. Have you found any solution?

louxinbo commented 3 years ago

Same here. Did you find any solution?

dev-apps-code commented 2 years ago

problem still exists, anyone?

tecnosul commented 2 years ago
@Override
protected void onDestroy() {
  super.onDestroy();
  Intent intent = new Intent(this.getApplicationContext(), VIForegroundService.class);
  intent.setAction("com.voximplant.foregroundservice.service_stop");
}

this worked for me.

AlexCernik commented 2 years ago
@Override
protected void onDestroy() {
  super.onDestroy();
  Intent intent = new Intent(this.getApplicationContext(), VIForegroundService.class);
  intent.setAction("com.voximplant.foregroundservice.service_stop");
}

this worked for me.

more explanation please?

n-ii-ma commented 2 years ago
@Override
protected void onDestroy() {
  super.onDestroy();
  Intent intent = new Intent(this.getApplicationContext(), VIForegroundService.class);
  intent.setAction("com.voximplant.foregroundservice.service_stop");
}

this worked for me.

At least provide an explanation!