我正在开发一个仅适用于平板电脑的应用程序,要求在平板电脑的全屏上运行该应用程序。
为此,我在主要 Activity 中使用了以下代码:
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
此代码 fragment 仅删除标题栏和操作栏。但在平板电脑中,有一个底部系统栏(有主页和后退按钮)。我也想删除或隐藏这个系统栏。
我已经搜索过,但只有以下解决方案:
- 没有用于删除或隐藏系统栏的 API。
- 您可以使用一些安卓应用来隐藏系统栏。 (例如: surelock、hidebar 等)
我的问题是:
- 在android中真的不行吗?
- 以上可用应用(即 surelock、隐藏栏等)也隐藏栏。 这意味着他们正在使用某些东西来这样做。可以用这个 我们应用程序中的某些内容,因此用户不需要下载这些 单独应用。
请指导我。
我知道这不是个好主意。但我的应用程序仅适用于 Android 4.0 或更高版本的平板电脑,平板电脑将只运行这个应用程序,因此我们不需要返回并使用主页按钮。这就是为什么我的要求是使用该应用程序全屏显示。
最佳答案
如果您有 root 访问权限,您可以使用此代码,否则它是不允许的
try{
//REQUIRES ROOT
Build.VERSION_CODES vc = new Build.VERSION_CODES();
Build.VERSION vr = new Build.VERSION();
String ProcID = "79"; //HONEYCOMB AND OLDER
//v.RELEASE //4.0.3
if(vr.SDK_INT >= vc.ICE_CREAM_SANDWICH){
ProcID = "42"; //ICS AND NEWER
}
//REQUIRES ROOT
Process proc = Runtime.getRuntime().exec(new String[]{"su","-c","service call activity "+ ProcID +" s16 com.android.systemui"}); //WAS 79
proc.waitFor();
}catch(Exception ex){
Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG).show();
}
关于android - 如何在安卓平板电脑中隐藏底部系统栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16057096/