Требуется корневой доступ, но вы можете перезапустить 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, поэтому это (или подобное злоупотребление привилегиями) является вашим единственным вариантом.
Кроме того, я модифицирую исходный код Android. Перезапустить SystemUI в порядке, но при перезапуске он перейдет на Keyguard. Обновить представление systemui - это точка –