5

I have a BackgroundReceiver set up to receive the android.intent.action.USER_PRESENT in the manifest file as per:

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

My overridden onReceive(Context, Intent) method is very 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);
        }
    }
}

Questions:

  1. Is there some trick to using these intent actions on Android 3.x & 4.x?
  2. Perhaps this is a known Samsung issue?
  3. Or perhaps there is some device setting I have neglected on these devices?
Richard Le Mesurier
  • 29,432
  • 22
  • 140
  • 255
  • this question implies it can be done: [Bring task to front on android.intent.action.USER_PRESENT](http://stackoverflow.com/questions/8750854/bring-task-to-front-on-android-intent-action-user-present) – Richard Le Mesurier May 21 '12 at 15:07

1 Answers1

2

There is a comment by ubuntudroid on this answer (android app with service only) that says you need to start your activity at least once before it will correctly receive the required intents.

Apparently introduced in Android 3.0.

I have not tested this theory yet, but it would explain what you are seeing.

Community
  • 1
  • 1
Stephen Asherson
  • 1,557
  • 14
  • 23
  • I have ran into similar behavior that would be explained by this. I was automatically deploying an APK to a device and then interacting with it via broadcast receivers. (Android 5.1.1). The USER_PRESENT action was received intermittently. – running-codebase Aug 15 '16 at 05:10