¿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.

  • ACTION_SEND utilizado para enviar sms
  • ¿Cómo detectar si alguna de mis actividades es la más visible y visible para el usuario?
  • ¿Por qué Android Studio me dice que utilice getSupportActionBar () en lugar de getActionBar ()?
  • Utilizar actividad o fragmento en la aplicación de Android
  • Actividad de configuración botón Arriba
  • Nombre de la Actividad o Receptor que llama al Servicio
  • ¿Cómo reinicio una actividad de Android?
  • Evitar que el diálogo de actividad de Android se cierre en el exterior
  • Android empuja una nueva actividad mientras limpia a otros
  • ¿Cómo pasar el contexto de la actividad a la actividad?
  • Actividad de inicio de la URL
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.