내부 응용 프로그램에서 사용하기 위해 실행 프로그램을 만들었습니다. 몇 가지 보안상의 이유로 시스템 바를 숨기고 싶습니다 (매개 변수에 대한 액세스 권한은 설치된 응용 프로그램에 대한 액세스 권한). 그러나 나는 이것을 어떻게하는지 모른다. 사용할 타블렛은 루팅되지 않습니다. 제발 도와 주실 수 있습니까? 당신의에서 onCreate() 메소드에서시스템 바를 숨길 수 있습니다
답변
당신은 그것을 숨길 수는 없지만 집을 제외하고는 비활성화 할 수 있습니다. 이를 위해 응용 프로그램을 홈 카테고리로 지정하고 사용자가 선택할 수 있도록 할 수 있습니다.
<category android:name="android.intent.category.HOME" />
나머지는 모두 비활성화 할 수 있습니다.
이것을 매니페스트에 추가하십시오. 내부에서 onCreate
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>
() home_view는 XML 파일의 부모 도면이다
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);
.
getWindow().getDecorView().setSystemUiVisibility(View.GONE);
사용 키보드 또는 원격으로 안드로이드 상자 코드 :
@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)
{
}
}
고맙습니다. – user2043602
JellyBean 4.3에서는 작동하지 않습니다 –
넣어이 :
requestWindowFeature(Window.FEATURE_NO_TITLE);
편집 : 상태 표시 줄을 숨기기하는 응용 프로그램이 전체 화면 또는 뿌리를 필요로한다. 사용됩니다
감사합니다. 귀하의 제안을 사용하면 응용 프로그램이 손상됩니다. 나는 응용 프로그램의 제목을 숨기고 네트워크 및 매개 변수에 대한 액세스 권한을 숨기거나 보안상의 이유로 암호로 보호하지 않아도됩니다.솔루션이 소비자 태블릿과 중요한 번호로 사용되어 모든 장치를 뿌리 뽑을 수 없기 때문에 장치를 뿌리 내릴 수 없습니다. – user2043602
죄송합니다. 내가 추천 한 코드는 onCreate() 메서드에 넣고 위 또는 아래에 놓는다. (미안하지만, 지금은 내 데스크톱이 아니다. –
을 뿌리하지 않는 당신은 그것을 숨길 수 없습니다. 사용자가 화면을 터치하면 당신은, 그러나 그것은 일시적으로 숨길태블릿은 다음
SYSTEM_UI_FLAG_HIDE_NAVIGATION
를 사용할 수 있지만, 눈에 보이는 얻을 것이다 : 탐색 컨트롤이 매우 중요하기 때문에, 최소한의 사용자 상호 작용은 다시 그들을가 발생합니다 제한이 있습니다
바로. 이 플래그와
SYSTEM_UI_FLAG_FULLSCREEN
은 모두 이 자동으로 지워 지므로 두 요소가 동일한 시간에 다시 나타납니다.
이것은 맞습니다. 앱은 사용자에 대한 서비스 거부 공격으로 사용할 수있는 작업을 수행 할 수 없으며 사용자가 집 또는 최근 사용 버튼에 액세스하지 못하도록 제한합니다. 덕분에 – adamp
. 하지만 내 프로젝트에서, 나는 모든 응용 프로그램에 대한 액세스 권한과 제한된 액세스 권한 및 일부 응용 프로그램을 포함하는 2 개의 프로파일을 작성해야합니다. 나는 일시적이 아니라 모든 시간을 숨길 필요가있다. – user2043602
당신은 내가 숨이 코드를 사용 하단 표시 줄을 숨길 수 있습니다.
SYSTEM_UI_FLAG_HIDE_NAVIGATION 플래그를 사용하여 Android 4.0 이상에서 탐색 모음을 숨길 수 있습니다.
은 롤리팝에서 작동합니다 - 화면을 터치했을 때 돌아 오는 것을 제외하고는 – Clocker
Hiding the Navigation Bar 당신이 무슨 뜻인가요 :
은 다음을 참조하십시오 :이 조각은 탐색 모음 및 상태 표시 줄을 모두 숨 깁니다? http://stackoverflow.com/questions/2868047/fullscreen-activity-in-android – Sean
내 대답이 도움이 될 수 있다고 생각합니다. – dayanruben