Here we suppose we are using Android R10.3 and i.MX53 SMD board. Of course, it can work on other release and board.
1. bash-3.2# cd /sys/class/graphics/fb0
2. bash-3.2# cat mode
/* the show the current display modeFor example*/
D:1680x1050p-60
D:1280x1024p-60
D:1024x768p-60
D:800x600p-60
4. bash-3.2# echo 1 > blank /* blank off the display because the switching noise*/
5. bash-3.2# echo D:800x600p-60 > mode /* switch display mode to SVGA */
6. bash-3.2# echo 0 > blank /* enable display again */
7. at this point, the display may have issue, then need to restart the servicemanager, use ps to find out the process ID of the servicemanager and kill it and android will restart the serviceFor example:
bash-3.2# ps
USER PID PPID VSIZE RSS WCHAN PC NAME
system 2085 1 816 252 803292bc 6fd0b6fc S /system/bin/servicemanager
bash-3.2# kill -9 2085 /* servicemanager is killed and will be restarted */
8. then the service manager will restart and the UI should be showed again at the needed / requested display resolution.
Hi,
Is there a way to apply the resolution change without killing the servicemanager process? I mean, by re-invoking some android code?