Coder Social home page Coder Social logo

Comments (6)

kaputnikGo avatar kaputnikGo commented on July 28, 2024 1

PilferShush Jammer only works as far as the Android OS allows it to, and sometimes it feels like a losing battle :(
Technically its not a on/off switch, the jammer works by keeping the mic on for this app and, as per source code, you know that it is not reading the mic data. This method exploits the Android API and as such will work only for as long as Android maintains it. The Android 10 + concurrent audio changes is an example of this being degraded.

There is a native code method of rerouting audio, a few apps do this to allow you to record phone conversation audio which is illegal in some countries as it is wire tapping, but this is complex and beyond what I intend for this app.

Bypassing the OS and getting root access to the audio firmware for your particular device could be another software alternative, but again is complex and device specific.

A hardware kill switch is ultimately the only reliable way to allow the user to have control over the microphone (be sure to check the specific method though, as some don't "kill" the mic as such : pinephone WiFi/BT RTL8723CS has kill switch connected to chip enable, which is a "reduced-power standby mode").

If you're worried about unwanted mic use then the only suggestions are (from easy to harder): install only minimal apps you need, prefer web browser website access over any app, install adblocker(s), check apps with Record Audio and Internet permissions, flash device with LineageOS (or equiv AOSP) OS with no GApps but only FDroid.

Another trick may be to keep a headset plugged in to device (OS auto switches mic from handset to headset) and then to either cover with glue/tape or break the actual microphone part in the headset. But again this method is reliable only as far as no other apps deliberately selecting handset mic (overriding the OS auto switch), and trust that the OS is actually doing what is advertised in the API docs.

And then become a Luddite - "They protested against manufacturers who used machines in what they called "a fraudulent and deceitful manner""
https://en.wikipedia.org/wiki/Luddite

from pilfershushjammer.

kaputnikGo avatar kaputnikGo commented on July 28, 2024

The passive jammer will run in the background for as long as the android OS will allow. There are many reasons for the OS to shutdown an app running in the background such as battery management, processor use, memory management, etc. Depending on your phone hardware, version of Android and any other 3rd party apps installed either as user apps or system apps - this will all impact how long any background user app can run before some part of the OS may shut it down.

There may be some things you can do at the system settings level to help, for instance in the PilferShush app in the menu section there is a popup called "Power" that will take you (if available) to the battery optimisation section in Android Settings where you can check that PilferShush is set to "Not optimised"

The jammer may turn off with headphone connection/disconnection as the app is checking for audio state changes, and it may mean a handset microphone is being switched to a headset microphone by the Android OS.

from pilfershushjammer.

9mido avatar 9mido commented on July 28, 2024

That is really unfortunate. Is there a way we could get a third button just to turn on/off the microphone whenever we feel like where it would ignore the OS based on your actions? Was hoping that this app would have been a software alternative to a hardware microphone on/off switch.

from pilfershushjammer.

9mido avatar 9mido commented on July 28, 2024

Wow thanks for the very detailed responses and the advice. Appreciate everything you have done even though it seems like an uphill battle.

from pilfershushjammer.

 avatar commented on July 28, 2024

On this topic, Sony Headphones are an example of an app that makes this issue arise. Thank you for the information, kaputnikGO!

from pilfershushjammer.

forofo avatar forofo commented on July 28, 2024

same problem with battery optimization enabled. The app is kept in the background but after some time the options are changed. Not only the passive but also the noise types, the nufh... A good improvement would be if the options could be saved inside a file to be checked every x time to reload them. It would minimize the time lapses in case the app is not working like expected. Even with more battery cost some option like this would be really good.

from pilfershushjammer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.