工控机隐藏导航栏状态栏-解决用户操作或者弹框等情况状态栏仍然弹出的问题

做android工控机有时候需要让系统隐藏状态栏和导航栏,这样做的目的

1.程序界面完整美观

2.app的安全性,防止用户恶意退出app,造成一些其他的损失。甚至给app卸载了。

正常情况下隐藏系统状态栏和导航栏工控机厂商会在Framework层就做了处理,系统设置中

会给使用者提供开关。但。。。。偏偏就有些工控厂商就不给做,非要把这个问题抛给app,

app权限本身就比较低,做这种功能会比较费劲。但网上和google官方有一些全屏解决方案,但是

遇到dialog/或者用户有操作的情况下全屏就会退出了 。

下面是我搞的一个解决方案:

可全屏,且用户操作不会让导航栏状态栏弹出

/**

     * 关闭Android导航栏,实现全屏

     */

    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();

        }

    }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容