1

나는 모든 활동 위에 검은 사각형을 넣고 상태/알림 표시 줄과 탐색 바를 제외하고 화면이 검게 변하는 서비스를 만들었습니다. 내 목표는 모든 것을 숨기는 것입니다. 이 검은 사각형을 전체 화면으로 만들려면 어떻게해야합니까? FLAG_FULLSCREENFLAG_LAYOUT_IN_SCREEN을 사용해 보았지만 제대로 작동하지 않았습니다. TypeGuard를 사용하지 않도록 설정 했는데도 작동하지 않습니다. 미리 감사드립니다!안드로이드의 전체 화면 서비스

다음은이 시도 내 코드

WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); 

    ImageView black = new ImageView(this); 
    black.setImageResource(R.drawable.black); 

    LinearLayout layout = new LinearLayout(this); 
    layout.addView(black); 

    WindowManager.LayoutParams params = new WindowManager.LayoutParams(
      WindowManager.LayoutParams.MATCH_PARENT, 
      WindowManager.LayoutParams.MATCH_PARENT, 
      WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, 
      WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | 
        WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, 
      PixelFormat.TRANSLUCENT); 

    params.gravity = Gravity.TOP | Gravity.LEFT; 
    params.x = 0; 
    params.y = 0; 

    windowManager.addView(layout, params); 
+0

당신이 문제를 해결하고 어떻게 해결? –

답변

0

입니다 : fullscreen_content 부모 레이아웃입니다

assert getSupportActionBar() != null; 
getSupportActionBar().hide(); 
mContentView = findViewById(R.id.fullscreen_content); 
mContentView.setSystemUiVisibility(View.GONE | View.SYSTEM_UI_FLAG_FULLSCREEN); 

.

+0

서비스에는 적용 할 수 없습니다. 'getSupportActionBar()'는 Activity를 확장하는 클래스에서 사용할 수있는 메소드입니다. – jelic98

1

는이 프로그램

if (null == mInflater) { 
     mInflater = (LayoutInflater) getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    }if (mLockscreenView == null) mLockscreenView = mInflater.inflate(R.layout.view_locokscreen, null); 

mLockscreenView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 
      mWindowManager.addView(mLockscreenView, mParams); 
      final Handler handler = new Handler(); 
      mLockscreenView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { 
       @Override 
       public void onSystemUiVisibilityChange(int visibility) { 
        handler.postDelayed(new Runnable() { 
         @Override 
         public void run() { 
          mLockscreenView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 
         } 
        },2000); 
       } 
      }); 
+0

답변 해 주셔서 감사합니다.하지만 작동하지 않습니다. 서비스의보기는 탐색 키와 상태 표시 줄 위에 그려지지 않습니다. – jelic98

+0

대답을 –

+0

업데이트했습니다.보기에 관한 것이 아닙니다. 플래그가 작동하지 않습니다. – jelic98

관련 문제