2012-03-17 24 views
6

Tengo el comando onResume para reiniciar un hilo detenido que ejecuta mi ciclo de juego. Esto funciona perfectamente para reanudar la aplicación cuando se cierra con el botón de inicio o centrándose en otra aplicación. Sin embargo, cuando apaga la pantalla y vuelve a encenderla, el comando de actividades onResume se dispara inmediatamente antes de que se desbloquee la pantalla. Necesito que mi actividad sepa cuándo está desbloqueada la pantalla para que pueda reiniciarla en el momento apropiado.Identificador de actividad cuando la pantalla está desbloqueada

¿Alguien ha pasado esto antes?

Respuesta

16

de pantalla de detección de imágenes y de fuera de registrar un reciver de difusión como:

AndroidManifest.xml:

<receiver android:name="receiverScreen"> 
     <intent-filter> 
      <action android:name="android.intent.action.SCREEN_ON" /> 
      <action android:name="android.intent.action.SCREEN_OFF" /> 
<action android:name="android.Intent.ACTION_USER_PRESENT" /> 
     </intent-filter> 
    </receiver> 

En la Actividad o Servicio:

try { 
       IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON); 

       filter.addAction(Intent.ACTION_SCREEN_OFF); 
filter.addAction(Intent.ACTION_USER_PRESENT); 

       BroadcastReceiver mReceiver = new receiverScreen(); 

       registerReceiver(mReceiver, filter); 
     } catch (Exception e) { 

     } 

receptor código donde el sistema le informa si la activación/desactivación de pantalla ocurre:

public class receiverScreen extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 

     if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)){ 

     } 
     if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)){ 

     } 
if (intent.getAction().equals(Intent.ACTION_USER_PRESENT)){ 

     } 
    } 

    } 
+0

Parece que el código para AndroidManifest.xml no se incluyó. – louielouie

+0

muy útil, sin embargo, ACTION_SCREEN_OFF solo se ejecuta cuando la pantalla está encendida y aparece la pantalla de desbloqueo, necesito que se ejecute cuando la pantalla de desbloqueo se desbloquea y desaparece – tantonj

+0

@tantonj y luego se registra en más receptor BroadcastReceiver 'Intent.ACTION_USER_PRESENT' –

Cuestiones relacionadas