5

Tengo un BackgroundReceiver configurar para recibir el android.intent.action.USER_PRESENT en el archivo de manifiesto de acuerdo con:Intent.ACTION_USER_PRESENT no se ha recibido en los dispositivos de ICS (Samsung) HoneyComb o

<receiver android:name="com.demo.MyBroadcastReceiver"> 
     <intent-filter> 
      <action android:name="android.intent.action.USER_PRESENT" /> 
     </intent-filter> 
    </receiver> 

Mi onReceive(Context, Intent) método anulado es muy simple:

@Override 
public void onReceive(Context context, Intent intent) 
{ 
    if (intent != null) 
    { 

     if (Intent.ACTION_USER_PRESENT.equals(intent.getAction()) 
     { 
      // wrapper for Log.d(String, String) 
      Dbug.log("MyBroadcastReceiver: [" + intent.getAction() + "]"); 

      // this calls a service 
      serviceExample(context, intent); 
     } 
    } 
} 

  • Esta prueba perfectamente en 2,1, 2,2 & 2. 3 dispositivos (HTC Desire, HTC WildFire, Motorola Razr).
  • Esto no parece funcionar en dispositivos HoneyComb (Samsung Galaxy Tab 10.1) o ICS (Samsung Galaxy Nexus).
  • De acuerdo con esta falla (USER_PRESENT never fires on honeycomb and ICS when keyguard is disabled), establecí el bloqueo de teclas en los dispositivos con fallas. No ayudó.

Preguntas:

  1. ¿Hay algún truco para el uso de estas acciones intención de Android 3.x & 4.x?
  2. Quizás este es un problema conocido de Samsung?
  3. O tal vez hay alguna configuración de dispositivo que he descuidado en estos dispositivos?
+0

esta pregunta implica que se puede hacer: [Poner la tarea al frente en android.intent.action.USER_PRESENT] (http://stackoverflow.com/questions/8750854/bring-task-to-front-on-android- intent-action-user-present) –

Respuesta

2

Hay un comentario de ubuntudroid sobre esta respuesta (android app with service only) que dice que usted necesita para comenzar su actividad al menos una vez antes de que se recibirá correctamente los intentos requeridos.

Aparentemente introducido en Android 3.0.

Aún no he probado esta teoría, pero eso explicaría lo que está viendo.

+0

He encontrado un comportamiento similar que se explicaría por esto. Estaba implementando automáticamente una APK en un dispositivo y luego interactuando con ella a través de receptores de difusión. (Android 5.1.1). La acción USER_PRESENT se recibió de forma intermitente. –

Cuestiones relacionadas