android 4.0 隐藏虚拟导航按钮(back,home等),Android开发关闭虚拟按钮、底部导航条

本文聚焦Android开发,分享屏蔽虚拟按键及隐藏导航条的方法。介绍了重写onKeyDown方法屏蔽Back按键,还给出隐藏虚拟导航条的方案,需在AndroidManifest.xml加权限,封装了关闭和显示导航条的类,代码调用可实现相应功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Android开发中,遇到了一系列大大小小的问题,其中一个就是屏蔽底部实体键,我找了很多的博客也尝试了许许多多的方法,但始终不能屏蔽 HOME键,后来看见一篇博客说在Android 4.0以后,屏蔽底部HOME键必须反编译,修改Android底部原生代码,于是我便放弃了。废话不多说,我先分享一个屏蔽Android虚拟按键的方法,以及最简单的屏蔽Android的Back按钮,适合所有版本(未测试,感觉是这样):

1. Android 屏蔽Back按键

只需要重写 onKeyDown 方法就可以了,代码如下:

@Overridepublic boolean onKeyDown(intkeyCode, KeyEvent event) {if (keyCode ==KeyEvent.KEYCODE_BACK) {

Toast.makeText(MainActivity.this, "·µ»Ø¼üÒѱ»½ûÓÃ...", Toast.LENGTH_SHORT)

.show();return true; //return true 和 false 我都试过,都能屏蔽,原因还未知,希望知道的可以告诉我一下,谢谢

}return super.onKeyDown(keyCode, event);

}

2. Android 隐藏虚拟导航条(需要系统权限)

需要在 AndroidManifest.xml 中加入以下权限:

然后是关闭底部导航条的代码,我封装成了一个类,只需要在 onCreate 方法里调用该方法就行,该类如下:

packagecom.jd.nanapptwo.utils;importandroid.os.Build;/*** 关闭显示导航条*/

public classCloseBarUtil {/*** 关闭底部导航条*/

public static voidcloseBar() {try{//需要root 权限

Build.VERSION_CODES vc = newBuild.VERSION_CODES();

Build.VERSION vr= newBuild.VERSION();

String ProcID= "79";if (vr.SDK_INT >=vc.ICE_CREAM_SANDWICH) {

ProcID= "42"; //ICS AND NEWER

}//需要root 权限

Process proc =Runtime.getRuntime().exec(newString[]{"su","-c","service call activity " +ProcID+ " s16 com.android.systemui"}); //WAS 79

proc.waitFor();

}catch(Exception e) {

e.printStackTrace();

}

}/*** 显示底部导航条*/

public static voidshowBar() {try{

Process proc=Runtime.getRuntime().exec(new String[]{"am", "startservice", "-n","com.android.systemui/.SystemUIService"});

proc.waitFor();

}catch(Exception e) {

e.printStackTrace();

}

}

}

希望以上方法会对你们有帮助。

原文:http://www.cnblogs.com/yjq520/p/7243713.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值