2010-05-10 14 views
7

¿Hay una intención que se dispara cuando un usuario desbloquea su pantalla? Quiero que mi aplicación ajuste el brillo cuando la pantalla se enciende, pero el problema que me surge es que la pantalla intentada se dispara en la pantalla de bloqueo y no ajusta la pantalla en esa pantalla.intento de pantalla de desbloqueo de Android?

Respuesta

2

Mire el método disableKeyguard en la clase KeyguardLock.

+0

No creo que esto responda directamente a la pregunta. Como parece ser un método para desbloquear la pantalla en lugar de recibir una notificación cuando la pantalla se ha desbloqueado. – stealthcopter

8

Sí, el ACTION_USER_PRESENT se emite después de que el usuario desbloquea:

http://developer.android.com/reference/android/content/Intent.html#ACTION_USER_PRESENT

Tenga en cuenta que esto es una transmisión y protegida si el usuario está utilizando un reemplazo de la pantalla de bloqueo, como WidgetLocker o NoLock la USER_PRESENT no puede ser enviado o puede ser enviado en el momento equivocado.

Para detectar WidgetLocker 's desbloquean ver: http://teslacoilsw.com/widgetlocker/developers

5

añadir el receptor en el archivo menifest

<receiver android:name=".ScreenReceiver"> 
      <intent-filter> 
       <action android:name="android.intent.action.USER_PRESENT" /> 
      </intent-filter> 
     </receiver> 

Crear un receptor de radiodifusión, que trabaja para abrir la aplicación cuando el teléfono está desbloqueado.

public class ScreenReceiver extends BroadcastReceiver{ 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     System.out.println(intent.getAction()); 
     if (intent.getAction().equals(Intent.ACTION_USER_PRESENT)) 
     { 
      Intent intent1 = new Intent(context,MainActivity.class); 
      intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   
      context.startActivity(intent1); 
     } 
    } 

Estoy seguro de que funcionará.

Cuestiones relacionadas