2017-09-22 1 views
1

J'utilise ce code pour afficher la disposition de superposition dans mon application. Dans Android 8.0 « Oreo » il planteLa superposition se bloque dans Android O

WindowManager.LayoutParams playerParams = new WindowManager.LayoutParams(
     ViewGroup.LayoutParams.MATCH_PARENT, 
     ViewGroup.LayoutParams.MATCH_PARENT, 
     WindowManager.LayoutParams.TYPE_SYSTEM_ERROR, 
     WindowManager.LayoutParams.FLAG_FULLSCREEN, 
     PixelFormat.TRANSLUCENT); 

Je trouve que cette TYPE_SYSTEM_ERROR est désapprouvée dans O. Est-il une autre façon de montrer la mise en page.

Répondre

2

je également face à la même question le TYPE_SYSTEM_ERROR est dépréciée dans Oreo Donc, si nous devons utiliser ce que nous devons faire ce

WindowManager.LayoutParams params; 
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { 
    params = new WindowManager.LayoutParams(
      WindowManager.LayoutParams.MATCH_PARENT, 
      WindowManager.LayoutParams.MATCH_PARENT, 
      WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      PixelFormat.TRANSLUCENT); 
} else { 
    params = new WindowManager.LayoutParams(
      WindowManager.LayoutParams.MATCH_PARENT, 
      WindowManager.LayoutParams.MATCH_PARENT, 
      WindowManager.LayoutParams.TYPE_SYSTEM_ERROR, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      PixelFormat.TRANSLUCENT); 
} 

Vous pouvez essayer cela.

+0

Merci pour la réponse que j'ai déjà faite. –

+0

Bienvenue, j'étais également confronté aux mêmes problèmes avant quelques jours. –