1. ホーム
  2. android

[解決済み] 再起動せずにandroid systemuiをリフレッシュさせる

2022-01-31 07:57:24

質問

デバイスを再起動せずに、ソースコードのSystemUIを再起動するにはどうすればよいですか?

再起動せずにシステムフォントを切り替えようとしていますが、SystemUI以外はすべてOKです。デバイスを再起動するのではなく、すぐにSystemUIを再起動したいのですが。

ありがとうございます~~~~。

解決方法は?

root 権限が必要ですが、この方法でシステム 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でないとできないことなので、これ(または同様の権限乱用)が唯一の選択肢です。