2014-01-26 41 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