工控機隱藏導航欄狀態(tài)欄-解決用戶操作或者彈框等情況狀態(tài)欄仍然彈出的問題

做android工控機有時候需要讓系統(tǒng)隱藏狀態(tài)欄和導航欄,這樣做的目的

1.程序界面完整美觀

2.app的安全性,防止用戶惡意退出app,造成一些其他的損失。甚至給app卸載了。

正常情況下隱藏系統(tǒng)狀態(tài)欄和導航欄工控機廠商會在Framework層就做了處理,系統(tǒng)設置中

會給使用者提供開關。但。。。。偏偏就有些工控廠商就不給做,非要把這個問題拋給app,

app權限本身就比較低,做這種功能會比較費勁。但網(wǎng)上和google官方有一些全屏解決方案,但是

遇到dialog/或者用戶有操作的情況下全屏就會退出了 。

下面是我搞的一個解決方案:

可全屏,且用戶操作不會讓導航欄狀態(tài)欄彈出

/**

?? ? * 關閉Android導航欄,實現(xiàn)全屏

?? ? */

? ? private void closeBar() {

? ? ? ? try {

? ? ? ? ? ? String command;

? ? ? ? ? ? command = "LD_LIBRARY_PATH=/vendor/lib:/system/lib service call activity 42 s16 com.android.systemui";

? ? ? ? ? ? ArrayList envlist = new ArrayList();

? ? ? ? ? ? Map env = System.getenv();

? ? ? ? ? ? for (String envName : env.keySet()) {

? ? ? ? ? ? ? ? envlist.add(envName + "=" + env.get(envName));

? ? ? ? ? ? }

? ? ? ? ? ? String[] envp = envlist.toArray(new String[0]);

? ? ? ? ? ? Process proc = Runtime.getRuntime().exec(

? ? ? ? ? ? ? ? ? ? new String[] { "su", "-c", command }, envp);

? ? ? ? ? ? proc.waitFor();

? ? ? ? } catch (Exception e) {

? ? ? ? ? ? e.printStackTrace();

? ? ? ? }

? ? }

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,317評論 0 17
  • Android 系統(tǒng)啟動流程 本文基于android8.0系統(tǒng)源碼來分析 系統(tǒng)啟動大致流程圖分析,一圖以蔽之: 其...
    我的橘子分你一瓣閱讀 1,559評論 0 2
  • Android使用底部導航 Android底部導航停留在屏幕底部,提供應用中頂級視圖之間的導航。這是在具有向后兼容...
    ListenToCode閱讀 2,534評論 1 15
  • 離2018結束只剩下三天了,明天再上一天班,就是元旦假期,接著就是2019! 這一年渾渾噩噩的又快過完了,感嘆時光...
    千巖萬宇_閱讀 207評論 0 0
  • 當有一天,所有事對你來說都不是事。這是一種怎樣的境界,這種感覺多好啊,人之所求,都能為之。 對于這種感覺,你們怎么...
    莊德坤閱讀 753評論 0 0

友情鏈接更多精彩內(nèi)容