我在 4.3 上有一个扎根的 Nexus 10,并且使用以下代码隐藏系统栏可以正常工作:
Process proc = Runtime.getRuntime().exec(new String[]{"su","-c","service call activity "+ ProcID +" s16 com.android.systemui"}); //WAS 79
proc.waitFor();
但是当我尝试使用以下代码取消隐藏它时,它永远不会取消隐藏:
Process proc = Runtime.getRuntime().exec(new String[]{"am","startservice","-n","com.android.systemui/.SystemUIService"});
proc.waitFor();
如果我从 adb shell 发出“am”命令,它会像宣传的那样工作(系统栏重新出现)。根调用周围有一个 try/catch,也不例外。我从“am”中得到一个“1”的完成代码。
隐藏和显示在同一个应用程序中的两个不同活动中,尽管我不明白为什么这很重要。
对于那些感兴趣的人,这是一个自助服务终端应用程序,在该应用程序运行时栏需要消失,然后在应用程序从隐藏菜单退出时重新出现。
谢谢!