English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Conclusione su come determinare lo stato di accensione dello schermo in Android

Android determina lo stato di accensione/spegnimento dello schermo

 Metodo 1: Utilizzo del servizio di sistema

PowerManager pm= (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
    if(!pm.isScreenOn())
    {
      //Stato di spegnimento
    }

Metodo due: utilizzare i broadcast

public class ScreenReceiver extends BroadcastReceiver {
  @Override
  public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
//Ricezione della notifica di accensione dello schermo
    } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
//Ricezione della notifica di spegnimento dello schermo
    }
  }
  }
//Registrazione del broadcast
ScreenReceiver sOnBroadcastReciver=new ScreenReceiver();
    IntentFilter recevierFilter=new IntentFilter();
    recevierFilter.addAction(Intent.ACTION_SCREEN_ON);
    recevierFilter.addAction(Intent.ACTION_SCREEN_OFF);
    registerReceiver(sOnBroadcastReciver, recevierFilter);
//Cancellazione della registrazione
if(sOnBroadcastReciver!=null)
    {
      unregisterReceiver(sOnBroadcastReciver);
    }

Attenzione: le notifiche di accensione e spegnimento dello schermo possono essere ricevute solo tramite registrazione dinamica.

Grazie per aver letto, spero che possa aiutarvi, grazie per il supporto al nostro sito!

Ti potrebbe interessare