android - pantalla - descargar app notificacion
Notificación de Android de pantalla apagado/encendido (3)
El sistema transmitirá cuando la pantalla se encienda y apague.
Para escucharlos, puede crear un BroadcastReceiver que escuche los eventos:
Intención.ACTION_SCREEN_OFF Intención.ACTION_SCREEN_ON
Se enumeran en la documentación here :
Además, hay un tutorial sobre cómo responder a estos eventos que podría resultarle útil.
Estoy mirando para ver si hay una notificación del sistema que pueda escuchar para ver cuando la pantalla se apaga / enciende. ¿Alguna idea? Algo similar a cuando la red se conecta / desconecta.
Para cualquiera que esté buscando el código equivalente de Kotlin para la answer principal, esto funcionó para mí:
val intentFilter = IntentFilter(Intent.ACTION_SCREEN_ON)
intentFilter.addAction(Intent.ACTION_SCREEN_OFF)
registerReceiver(object: BroadcastReceiver() {
override fun onReceive(context:Context, intent:Intent) {
if (intent.action == Intent.ACTION_SCREEN_OFF) {
Log.d(TAG, Intent.ACTION_SCREEN_OFF)
}
else if (intent.action == Intent.ACTION_SCREEN_ON) {
Log.d(TAG, Intent.ACTION_SCREEN_ON)
}
}
}, intentFilter)
(La conversión automática de Kotlin en Android Studio no funcionó para mí, por lo que rápidamente reescribí el fragmento de código, espero que ahorre a alguien más ese minuto o dos extra)
La forma más sencilla es poner esto en su método MyApplication.onCreate()
:
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_SCREEN_ON);
intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
Log.d(TAG, Intent.ACTION_SCREEN_OFF);
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
Log.d(TAG, Intent.ACTION_SCREEN_ON);
}
}
}, intentFilter);