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