1

Ich habe einen Dienst gemacht, der schwarze Rechteck auf jeder Aktivität setzt und der Bildschirm schwarz wird außer Status/Benachrichtigungsleiste und Navigationsleiste. Mein Ziel ist es, alles zu verstecken. Wie kann ich dieses schwarze Rechteck in den Vollbildmodus bringen? Ich habe versucht mit FLAG_FULLSCREEN und FLAG_LAYOUT_IN_SCREEN, aber es hat nicht funktioniert. Ich habe gelesen, dass ich den TypeGuard deaktiviert habe, aber selbst das hat nicht funktioniert. Danke im Voraus!Fullscreen-Dienst in Android

Hier ist mein Code

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

Haben Sie das Problem gelöst, und wie? –

Antwort

0

Try this:

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

Wo fullscreen_content ist das übergeordnete Layout.

+0

Dies kann nicht auf den Service angewendet werden. 'getSupportActionBar()' ist eine Methode, die in Klassen verwendet werden kann, die Aktivität erweitern. – jelic98

1

löste ich dieses Programm

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

Vielen Dank für Ihre Antwort, aber das funktioniert nicht. Die Ansicht in einem Service wird nicht über Navigationstasten und Statusleiste angezeigt. – jelic98

+0

Ich aktualisierte die Antwort –

+0

Es geht nicht um die Ansicht. Flaggen funktionieren nicht. – jelic98