2014-01-26 43 views
5

我可以通过关闭com.android.systemui进程来启用KITKK模式。无论如何,这似乎不适用于KitKat-releases:杀死整个过程后,整个屏幕卡住了,我无法按任何按钮。在Root 4.4.2中启用Root KioskMode

从Play商店检查了类似的应用后,我看到了最近的更新提供了KitKat兼容性(例如Sure lock demo link)。有人可以解释这个KitKat兼容性吗?

有人可以通过root权限命名一种新的方式来隐藏KitKat-releases中的导航和状态栏吗?

最好的问候提前, GREENY

+0

对于API-11 +,我终于对https://github.com/jszczygiel/AndroidKioskMode感到满意,但它不适合您。希望这可以帮助 – shkschneider

回答

5

可能是你能给与下面的代码片段一试,显示在根植的Android devices.I'v /隐藏状态栏测试此4.2.2,4.4。 2 success.Good好运:)

要隐藏:

 Process proc = null; 

     String ProcID = "79"; //HONEYCOMB AND OLDER 

     if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){ 
      ProcID = "42"; //ICS AND NEWER 
     } 

     try { 
      proc = Runtime.getRuntime().exec(new String[] { "su", "-c", "service call activity "+ProcID+" s16 com.android.systemui" }); 
     } catch (Exception e) { 
      Log.w("Main","Failed to kill task bar (1)."); 
      e.printStackTrace(); 
     } 
     try { 
      proc.waitFor(); 
     } catch (Exception e) { 
      Log.w("Main","Failed to kill task bar (2)."); 
      e.printStackTrace(); 
     } 

要显示:

 Process proc = null; 
     try { 
      proc = Runtime.getRuntime().exec(new String[] { "su", "-c", "am startservice -n com.android.systemui/.SystemUIService" }); 
     } catch (Exception e) { 
      Log.w("Main","Failed to kill task bar (1)."); 
      e.printStackTrace(); 
     } 
     try { 
      proc.waitFor(); 
     } catch (Exception e) { 
      Log.w("Main","Failed to kill task bar (2)."); 
      e.printStackTrace(); 
     } 
+0

谢谢。你能否解释一下“service call activity%ProcID%s16 com.android.systemui'命令?我很困惑为什么进程ID已经从Honeycomb变成了IceCreamSandwich ... – Greeny

+0

你能否至少说出你的答案的来源,以便我可以将新答案('service call ...'命令的语法)转发给原始海报? – Greeny

+0

@Greeny:当引入ICS时,SystemUI类的进程ID从79改为42,因此使用if条件来满足不同的版本。您也可以看一下:http://stackoverflow.com/questions/ 13454528/hide-system-bar-in-jelly-bean-tablet-rooted。祝好运,愉快回答更多,感谢您的赏赐:-) – Basher51