我创建了一个启动器,以便在内部应用程序中使用它。出于某些安全原因,我想隐藏系统栏(对参数的访问和对已安装应用程序的访问的排序)。但我不知道该怎么做。
将使用的平板电脑未root。
你能帮我吗?
您无法隐藏它,但可以禁用它,但主页除外。为此,您可以将您的应用程序作为主类别并让用户选择。
<category android:name="android.intent.category.HOME" />
其余全部可以禁用。
将其添加到清单中。
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
在 onCreate() 内部
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_home);
View v = findViewById(R.id.home_view);
v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
其中 home_view 是 xml 文件的父视图。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return false;
}
public void onWindowFocusChanged(boolean hasFocus)
{
try
{
if(!hasFocus)
{
Object service = getSystemService("statusbar");
Class<?> statusbarManager = Class.forName("android.app.StatusBarManager");
Method collapse = statusbarManager.getMethod("collapse");
collapse .setAccessible(true);
collapse .invoke(service);
}
}
catch(Exception ex)
{
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)