Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I disable systemui From within my android app?

I used this answer to achieve a Kiosk Mode for my app: https://stackoverflow.com/a/26013850

I rooted the tablet with Kingo Root and then performed the following commands:

adb shell >
 su >
 pm disable com.android.systemui >

I am building an app that will only be used on our devices as kiosks....

It works great BUT.. I would like to perform the disable and enable of the system ui from the Android application itself.

Are system commands possible from within an application?

like image 948
silversunhunter Avatar asked Jan 20 '15 21:01

silversunhunter


1 Answers

/**
 * Uses Root access to enable and disable SystemUI.
 * @param enabled Decide whether to enable or disable.
 */
public void setSystemUIEnabled(boolean enabled){
    try {
        Process p = Runtime.getRuntime().exec("su");
        DataOutputStream os = new DataOutputStream(p.getOutputStream());
        os.writeBytes("pm " + (enabled ? "enable" : "disable") 
                + " com.android.systemui\n");
        os.writeBytes("exit\n");
        os.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Works fine. Usage:

setSystemUIEnabled(true);  // Enable SystemUI
setSystemUIEnabled(false); // Disable SystemUI
like image 126
ByteHamster Avatar answered Oct 16 '22 22:10

ByteHamster