2014-01-26 3 views
5

Мне удалось включить режим киоска в предварительных версиях KitKat, убив процесс com.android.systemui. Во всяком случае, это не работает в KitKat-релизах: после убийства процесса весь экран застрял, и я не могу нажимать никаких кнопок.Включение KioskMode в Android 4.4.2 с корнем

После проверки аналогичных приложений из Play Маркета я увидел последние обновления, обеспечивающие совместимость с KitKat (например, Sure lock demo link). Может ли кто-нибудь объяснить эту совместимость KitKat?

Может ли кто-нибудь назвать новый способ скрыть навигацию и строку состояния в KitKat-релизах с привилегиями root?

С наилучшими пожеланиями заранее, Зеленоватого

+0

Для API-11 + я, наконец, доволен https://github.com/jszczygiel/AndroidKioskMode, но это не может быть так. Надеюсь, это поможет – shkschneider

ответ

5

Могут быть, вы можете дать попробовать с ниже фрагментом кода, чтобы показать/скрыть строку состояния на коренятся андроид 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

Спасибо. Не могли бы вы немного объяснить «активность вызова службы% ProcID% s16 com.android.systemui'? Я смущен, почему идентификатор процесса изменился с Honeycomb на IceCreamSandwich ... – Greeny

+0

Не могли бы вы назвать источник ответа, чтобы я мог перенаправить новый ответ (синтаксис команды 'service call ...') на исходный плакат? – Greeny

+0

@Greeny: Идентификатор процесса для класса SystemUI изменился с 79 до 42, когда была введена ICS, поэтому использование условия if удовлетворяло различным версиям. Вы также можете посмотреть: http://stackoverflow.com/questions/ 13454528/hide-system-bar-in-jelly-bean-tablet-root. Хорошая удача, счастлив ответить больше и спасибо за щедрость :-) – Basher51