Change the screen resolution (width, height) dynamically, based on the app used.
These are the available versions:
• Version (A): Uses a non-root solution (system private interface for WindowManager class: IWindowManager), but requires the 'WRITE_SECURE_SETTINGS' permission to be granted to Tasker.
• Version (B): This (wm size) can also work with or without the 'WRITE_SECURE_SETTINGS' permission (only), also with or without root access (only).
When configuring higher resolutions than hardware, the following will most likely happen: using the device with a physical mouse (OTG) will be required, and overall performance will plummet.
For those who want to experiment with low resolutions, setting them permanently will reduce the work for the CPU/GPU, resulting in increased overall performance and improved battery life.
- Thanks to @JustRollWithIt (Reddit) for the base JF task. (reference)
- Go here to know how to grant the 'android.permission.WRITE_SECURE_SETTINGS' permission to Tasker.
- Two types of the same profile for each of the versions are available: App (to be used with all apps, except Tasker), Tasker (to be used only with Tasker). If you want each app to set a different resolution, just create a single profile for every app. Otherwise, include all apps within the main profile.
- Both 'App' and 'Tasker' profiles are bundled in a single prj file for easy importing, so import it as it is.
- An easy formula to calculate the new resolution, based on the original one: 'original + ((original * percentage) / 100)', to increase it, and 'original - ((original * percentage) / 100)', to decrease it. Apply it for both width and height.
- An easy formula to calculate the DPI that will appear about the same as it was in a previous resolution, setting a new resolution: '(current dpi * new width) / current width', and to bring the old density back with the previous resolution '(current dpi * current width) / new width'.
- Use 'Yellow' labeled actions to customize how the profiles work.
- To get the current resolution value use the 'Get Current Resolution' task.
- If what you want is to change the screen DPI, go here.