¿Hay alguien sabe cómo getWindow () en servicio en android?

Hice una vista sin actividad usando WindowManager.

Pero tengo que cambiar el estado de vista como abajo

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 

Pero getWindow () no puede utilizar en servicio.

¿hay alguna manera?

No se puede obtener una ventana en un servicio. Pero puede usar WindowManager para agregar una vista (raíz) como ya lo hizo.

Y también puede actualizar la vista a través de updateViewLayout , puede cambiar el estado de su ventana (tipo de ventana, bandera, x, y, w, h, gravedad, etc …) como los siguientes códigos.

 private WindowManager mWindowManager; private WindowManager.LayoutParams mLayoutParams; .......... //let's assume that an event occurred if(mConfiguration.orientation==Configuration.ORIENTATION_LANDSCAPE){ mLayoutParams.screenOrientation=Configuration.ORIENTATION_PORTRAIT; } mLayoutParams.softInputMode=WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN; mLayoutParams.gravity = Gravity.TOP|Gravity.CENTER; int flag=0 |WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN |WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM ; mLayoutParams.flags=flag; mWindowManager.updateViewLayout(mRootView, mLayoutParams); 

Como por servicio no tiene interfaz de usuario, tiene que iniciar la actividad de ello para obtener el atributo getWindow ().

Haga una actividad Transparent o simplemente inicie la actividad, getWindow () e inmediatamente termine. Creo que tiene que hacer una actividad transparente. (Esta es mi opinión personal)

Lo que usted está tratando de hacer, creo, es tener la señal de servicio que se debe hacer un cambio en la apariencia de una actividad. La forma de hacerlo es que el servicio Context.sendBroadcast(Intent) una intención utilizando Context.sendBroadcast(Intent) y que su actividad responda en su método onReceive . La respuesta aceptada en este hilo tiene más detalles sobre cómo configurar esto.

  • Android.app.Application no se puede convertir en android.app.Activity
  • Evitar una nueva instancia de actividad después de hacer clic en la notificación
  • Añadir ActionBar a una preferenciaActividad
  • ¿Tercera actividad llamada devuelve su resultado a la primera actividad en lugar de enviar el resultado a la segunda actividad?
  • ¿Cómo haces que un acceso directo de "Inicio" de Android evite la aplicación?
  • Mostrar múltiples actividades en la misma pantalla
  • Appcompat-v7: vista personalizada no alineada correctamente en ActionBar
  • Tiempo inactivo de actividad para ActivityRecord
  • Manifiesto de Android - "no tiene constructor predeterminado" con actividad / clase Runnable
  • Android: Ir al URL de HTTP en el botón de clic
  • Android ActivityManager vs WindowManager
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.