Permission Manager X


Contents


What is PMX?

It's the eXtended Permission Manager app for Android which makes it easy to set and review desired permissions on installed apps, keeping track of any unwanted changes. Giving control on your device, it enables you to protect your privacy and save your resources like battery usage.

PMX provides all the scattered (or otherwise unavailable) permission-related information and controls on a single screen so that you can watch and control them in a comprehensive and convenient way.

Using PMX you can:

Also see Github README and detailed app description on Play Store. Or try it out. It's free, for the most part.


What are manifest permissions and AppOps?

Both are the underlying permission control mechanisms in Android operating system.

Manifest permissions are called so as the app needs to request them in its AndroidManifest.xml file. You can allow an app to use Camera or read your Contacts, right? Both are the manifest permissions: android.permission.CAMERA and android.permission.READ_CONTACTS.

But what if you want to allow the app to use the Camera or read your Contacts only when the app is being used in foreground? Or what if you want to disallow an app to make Vibrations or to read Clipboard? It's achieved through AppOps. In short, AppOps provide some extra and more fine-grained control over normal permissions.

Manifest permissions are not always changeable depending on their protection level and the privileged state of the app. For instance:

With every coming release both types of permissions are being tightly integrated. For instance in recent Android releases apps cannot use Microphone from background. It's achieved by making use of both manifest and AppOp permissions.

PMX shows you a complete list of manifest and AppOp permissions an app is using, in a plain simple list. So that you can know and control them the way you want.


Permission References

Suppose you spent a whole Sunday setting wanted permissions on 200+ installed apps. And:

Will you go through the who hassle once again?

No you don't need to. You can make PMX remember your desired permission states. Set a permission, make it GREEN, and done. It will take only a few moments to look at all installed packages and figure out which permissions aren't correctly set e.g. by making a quick search: ":RED|:ORANGE" or "!:GREEN". See Search for more details.

Reference states can be backed up and restored conveniently.

Long press a permission to set or clear its reference state.

Three reference states are:


Packages


Permissions


Normally package label, name and UID are searched from visible list.

With Deep Search, permission name and other parameters are queried.

Note that the Exclusion Filters are effective when making search.

You can use the following special keywords in search:

Pro version also shows search suggestions (if set in preferences) to ease the search process.


Scheduled Checker (Pro only)

Do you want to keep track of any unwanted changes to the permissions for all the installed apps? Scheduled Check can do this for you at regular intervals (in minutes, hour or days).

Set Permission References to GREEN and leave the rest to PMX. If any permission is found changed (with RED state) or when a new app is found installed (with ORANGE state permissions), PMX reminds you that something needs your attention.

Additionally, if configured in preferences, Scheduled Check can auto-revoke granted permissions with an informatory notification.


Permission Watcher (Pro only)

Some apps do not work without having a certain permission granted. But you want to grant the permission for the time only when you are using the app, and revoke the permission as soon as you leave the app.

Permission Watcher does exactly this. As soon as you leave the app, or after the set time has passed, it revokes an app's permissions (manifest and AppOp) on its own, or asks you to do so, depending on the preferences you've set.

Permission Watcher also notifies you to set permissions on newly installed apps (in primary user / owner profile only).

Note:

Why starting Permission Watcher fails?

Are you using ADB? Some OEMs remove permission OBSERVE_GRANT_REVOKE_PERMISSIONS or SET_ACTIVITY_WATCHER from Shell package. If this is the case with you, we are sorry. This is something we cannot fix. On such devices Permission Watcher can work only with root. See the note at the start of Using PMX with ADB.


Using PMX with ADB

Note:

On some OEM ROMs the ADB functionality might be crippled due to lacking permissions or other restrictions. You can check the current status of what ADB can do in About -> Privileges (menu item):

Unfortunately we cannot do anything if ADB is lacking some permissions on your device. The following instructions apply only to near-AOSP ROMs.


If your device is not rooted, you need to turn Wireless ADB on before using PMX. Some devices have ADB over Network or Wireless Debugging setting available in Developer options:

For others, you need to connect the device to a USB host like PC once after every reboot.

Unhide Developer options screen:

  1. Go to Settings -> About and tap Build number five to seven times.

    Developer options should appear directly under Settings or in Settings -> System at the bottom.

  2. Enable Android debugging in Developer options.

  3. Connect the device to the PC with a USB cable.

  4. On PC open a terminal window (or command prompt on Windows) and run:

    adb tcpip 5555

    You must have adb executable available on your PC to run the above command. If not, here's the download link.

Optional steps for verification:

  1. Disconnect the USB cable from the device.

  2. Connect your device and PC to a common Wi-Fi network.

  3. Get the IP address of the device (usually in WiFi settings or in Settings -> About), say it's 192.168.1.1.

  4. On PC run:

    adb connect 192.168.1.1

  5. Run again:

    adb shell id -u

    It should print 2000 (or 0).

Leave the Android debugging enabled. Run PMX app and check ADB Shell in drawer. It should connect to ADB. Allow USB Debugging if asked:

For more details see this.

Android 11+

On Android 11 and above, it's possible to turn on Wireless ADB without connecting to a PC.

  1. Install Termux and grant Storage permission.

  2. Download adb binary for your device e.g. from here or whatever source you want. Let's say it's downloaded to the default Download directory (/sdcard/Download/).

  3. Connect your device to a Wi-Fi network.

  4. Open Termux and Developer Options in Split-Screen mode.

  5. Enable Wireless debugging and Disable ADB authorization timeout.

  6. Open Wireless debugging and tap on "Pair device with pairing code". Note the port number and pairing code.

  7. Switch to Termux and run:

    cp /sdcard/Download/adb.bin ./adb  (Copy the file)
    chmod a+x adb           (Make it executable)
    ./adb pair 127.0.0.1:41719     (Enter your port number)

  8. Enter the pairing code.

  9. Run (this step might be unnecessary):

    ./adb connect 127.0.0.1:40901    (Replace the port number)

  10. Run:

    ./adb tcpip 5555
    ./adb disconnect
    ./adb kill-server

Now you can leave Wireless debugging enabled. Or disable it and enable USB debugging. Open PMX app and start using.

Once after every reboot you need to repeat the last two steps (9 and 10).

For more details see this and this.


PMX Versions

PMX is available in two variants: Paid and Free.

Paid version is available in two variants: Play Store and Pro.

Paid version is released on Play Store and Telegram Channel. Free version is released on GitHub (and some other sources including F-Droid). Latest APKs for both variants are also posted in the Telegram channel.

There's no free version on Play Store.

Pro version can be installed along with any other version on a device. But no other two versions can be installed together (due to same package name). One must be uninstalled before installing the other one.

Free version available on IzzySoft is the same as released on Github and posted in the Telegram channel. But the one available on official F-Droid repo has different signatures. So it cannot be installed over the former two, and vice versa.

In between the major releases some test (beta) releases are also published in the Telegram channel only.

You can update the Play Store version to the latest stable release either from Play Store or by installing the APK file posted in the Telegram channel with -ps in the file name. Sometimes Google team may take up to 24 hours before the update is live in Play Store.

You can update the Pro version to the latest release by installing the APK file from the Telegram channel with -pro in the file name.

You can update the Free version to the latest stable release either from GitHub (or F-Droid; from wherever you installed it) or by installing the APK file posted in the Telegram channel without -ps / -pro in the file name.

Paid version installed by merely downloading the -ps.apk or -pro.apk file from the Telegram channel won't work if you haven't purchased the app.

Once a new version is available for update, PMX app - when launched - shows a notification to download the update (provided that you've enabled the update check in settings). Play Store app also shows update notification according to your settings.

If you've already downloaded and installed the latest release from the Telegram channel, you won't get update notification in the app and Play Store won't show update available.

Free version is completely open-source and free. Source code is available on GitHub. Anyone can view and download the code and build the app. We respect users' privacy, so there's nothing hidden, there are no back-doors, no trackers, no ads. And we don't collect users' data and information for any kind of analytics, profiling or for the sole purpose of selling. Even submitting a crash report is also at user's discretion, though highly recommended.

One can purchase the paid version just to make a donation and/or to use the paid-only features. Other methods of making a donation are available in the Free version under Donate section. Developers can also support the app development by contributing to the source code e.g. by fixing a bug or adding a feature. Users can help us make the app better by testing the beta releases, reporting any crashes or glitches, suggesting improvements and new features, or translating the app to their native language.

Paid version includes everything that's in the Free version, plus the following extra features which are also listed in the app under About section and in the Play Store description:


FAQs


Want more help?

Please contact us via email or Telegram.