2016-04-22 3 views
2

Как перезагрузить SystemUI в исходном коде без перезагрузки устройства?Обновление системы android без перезагрузки

Я пытаюсь переключить системный шрифт без перезагрузки, все в порядке, кроме SystemUI. Я хочу перезапустить SystemUI немедленно, а не перезагружать устройство.

Спасибо ~~~

+0

Кроме того, я модифицирую исходный код Android. Перезапустить SystemUI в порядке, но при перезапуске он перейдет на Keyguard. Обновить представление systemui - это точка –

ответ

1

Требуется корневой доступ, но вы можете перезапустить System UI с помощью этого метода:

private void restartSystemUi() { 
    Process process = null; 
    try { 
     process = Runtime.getRuntime().exec("su"); 
    } catch (IOException e) { 
     Log.e(TAG, "Error retrieving process", e); 
    } 

    if (process != null){ 
     try { 
      DataOutputStream os = new DataOutputStream(process.getOutputStream()); 
      os.writeBytes("pkill com.android.systemui\n"); 
      os.flush(); 
      os.writeBytes("exit\n"); 
      os.flush(); 
      process.waitFor(); 
     } catch (Exception e) { 
      Log.e(TAG, "Error killing system UI", e); 
     } 
    } 
} 

Как и в случае любых операций с корнем, ваш пробег может отличаться. Это невозможно без root, поэтому это (или подобное злоупотребление привилегиями) является вашим единственным вариантом.

+0

Спасибо большое! оно работает!!! –

1

вызова следующий метод, где вы хотите отдохнуть интерфейс

private void restartSelf() { 
    AlarmManager am = (AlarmManager)getActivity().getSystemService(Context.ALARM_SERVICE); 
    am.set(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis() + 500, // one second 
    PendingIntent.getActivity(getActivity(), 0, getActivity().getIntent(), PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT)); 
    Intent i = getActivity().getBaseContext().getPackageManager().getLaunchIntentForPackage(getActivity().getBaseContext().getPackageName()); 
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(i); 
} 
+0

назовите этот метод выше, где вы хотите, чтобы остальные UI – Haroon

Смежные вопросы