Per App Hacking

A module for Xposed to:

  1. Prevent an application to start service
  2. Prevent or delay an application to set alarm by AlarmManager
  3. Prevent an application to acquire wakelock
  4. Allow user to set proxy for an application if the application uses org.apache.http.impl.client.DefaultHttpClient
  5. Allow set a fake time to fake an app to a specific time just like time machine. Time format is YYYY-MM-DD HH:MI
  6. Limit the bitmap return from BitmapFactory to within 2000x2000 pixels
    • Useful to solve the issue of the DayDream of Google+(Google Photos) cannot display large photos (probably taken by DC)
  7. Fix for android.media.MediaPlayer to skip "start()" if muted in CM ProfileGroup (Only work on Cyanogenmod ROM)
    • For app like Whatsapp, it uses MediaPlayer to play notification sound, this voids the functionality of profile in CM. Mute it if the coressponding profile is on.

Combine this module with BootManager and ReceiverStop, user can prevent any unwanted background service(s) and alarm(s).

The main purpose of this module is usually used to avoid battery drain due to a lot of "multipdp" kernel wakelock. To achieve that, you need to find out the applications which set a lot of alarms by using BetterBatteryStats, then use this module to prevent/delay them to set alarm to reduce the frequency of holding wakelocks.

Author(s): 
Package: 
org.t2k269.perapphacking
Version name: 
1.5
Release type: 
Stable (low risk of bugs)
Number of downloads: 
170,347 in total · 34 in the last 24 hours
MD5 checksum: 
07b29a5f8fbad6aaf420762d2ed2612d
Changes: 

Added time machine to fake a app to a specific time
Bug fix in backup/restore and Wakelock acquire

Version name: 
1.4
Release type: 
Stable (low risk of bugs)
Number of downloads: 
6,920 in total · 2 in the last 24 hours
MD5 checksum: 
c195092bd24117be0f14314550ebecf7
Changes: 

Can backup/restore settings to/from /PerAppHacking.txt (in json)

Version name: 
1.3
Release type: 
Stable (low risk of bugs)
Number of downloads: 
887 in total · 0 in the last 24 hours
MD5 checksum: 
40bc193b5b8f0f8fe806c9093395d07b
Changes: 

Added a fix for android.media.MediaPlayer to skip "start()" if muted in CM ProfileGroup (Only work on Cyanogenmod ROM)

Version name: 
1.2
Release type: 
Stable (low risk of bugs)
Number of downloads: 
1,676 in total · 0 in the last 24 hours
MD5 checksum: 
4c9d0164d044aaf7d25a68ce6cbb036b
Changes: 

Added:

Force to use notification volume for playing music

  • For app like Whatsapp, it uses Music volume to play notification sound, this voids the functionality of profile in CM. Force it to use notification volume.
Version name: 
1.1
Release type: 
Stable (low risk of bugs)
Number of downloads: 
5,161 in total · 0 in the last 24 hours
MD5 checksum: 
c5dcd347c43441c51c35c91e9a381cf3
Changes: 

- Changed the launcher icon
- Limit the bitmap return from BitmapFactory to within 2000x2000 pixels
-- Useful to solve the issue of the DayDream of Google+(Google Photos) cannot display large photos (probably taken by DC)

Version name: 
1.0
Release type: 
Stable (low risk of bugs)
Number of downloads: 
9,601 in total · 0 in the last 24 hours
MD5 checksum: 
0751b0cb28874c69824eed4b52769f6d
Changes: 

First release