title: Show Activity passed lockscreen
body: <p>I'm building an alarm clock app.
  When the alarm goes off, I launch an activity with a video.
  If my screen is not locked, the activity pops up and plays the video, but when the screen is locked, it only plays the audio and turns the screen on. When I manually unlock the screen, the activity gets dismissed.</p>
  
  <p>Ideally it would get passed the lockscreen &amp; show me the activity, so the video immeditality pops up.</p>
  
  <p>This is the most important part of that activity (it starts from a service)</p>
  
  <pre><code>public class AlarmScreen extends Activity {
  
      private PowerManager.WakeLock mWakeLock;
      private AudioManager audio;
  
      private static final int WAKELOCK_TIMEOUT = 60 * 1000;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_alarm_screen);
  
  
          btnDismiss.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  finish();
              }
          });
  
          //play video
          //getWindow().setFormat(PixelFormat.TRANSLUCENT);
          //if you want the controls to appear
          // videoHolder.setMediaController(new MediaController(this));
  
  
          Uri video = Uri.parse("android.resource://" + getPackageName() + "/"
                  + R.raw.video1small);
          videoViewAlarm.setVideoURI(video);
          videoViewAlarm.start();
  
          //Ensure wakelock release
          Runnable releaseWakelock = new Runnable() {
  
              @Override
              public void run() {
                  getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
                  getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
                  getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
                  getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
  
                  if (mWakeLock != null &amp;&amp; mWakeLock.isHeld()) {
                      mWakeLock.release();
                  }
              }
          };
  
          new Handler().postDelayed(releaseWakelock, WAKELOCK_TIMEOUT);
      }
  
      @SuppressWarnings("deprecation")
      @Override
      protected void onResume() {
          super.onResume();
  
          // Set the window to keep screen on
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
  
          // Acquire wakelock
          PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);
          if (mWakeLock == null) {
              mWakeLock = pm.newWakeLock((PowerManager.FULL_WAKE_LOCK | PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), TAG);
          }
  
          if (!mWakeLock.isHeld()) {
              mWakeLock.acquire();
              Log.i(TAG, "Wakelock aquired!!");
          }
  
      }
  
      @Override
      protected void onPause() {
          super.onPause();
  
          if (mWakeLock != null &amp;&amp; mWakeLock.isHeld()) {
              mWakeLock.release();
          }
          finish();
      }
  
  }
  </code></pre>
  
  <p>My Logs:</p>
  
  <pre><code>11-02 16:27:00.430    9977-9977/be.thomascbeerten.yomommaoclock D/AlarmScreen﹕ onCreate
  11-02 16:27:00.450    9977-9977/be.thomascbeerten.yomommaoclock D/AlarmScreen﹕ Starting video
  11-02 16:27:00.460    9977-9977/be.thomascbeerten.yomommaoclock D/AlarmScreen﹕ onResume
  11-02 16:27:00.460    9977-9977/be.thomascbeerten.yomommaoclock I/AlarmScreen﹕ Wakelock aquired!!
  11-02 16:27:00.470    9977-9977/be.thomascbeerten.yomommaoclock D/AlarmScreen﹕ OnPause
  11-02 16:27:00.940    9977-9977/be.thomascbeerten.yomommaoclock I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@42c1e128 time:28154499
  11-02 16:27:01.000    9977-9977/be.thomascbeerten.yomommaoclock D/MediaPlayer﹕ getMetadata
  11-02 16:27:13.670    9977-9989/be.thomascbeerten.yomommaoclock W/MediaPlayer﹕ info/warning (3, 0)
  11-02 16:27:13.690    9977-9977/be.thomascbeerten.yomommaoclock D/AlarmScreen﹕ onResume
  11-02 16:27:13.690    9977-9977/be.thomascbeerten.yomommaoclock I/AlarmScreen﹕ Wakelock aquired!!
  </code></pre>
  
  <p><strong>Update</strong>
  I found a SO Question regarding the same thing here: <a href="https://stackoverflow.com/questions/7345282/why-the-onpause-method-is-called-immediately-after-oncreate">Why the onPause method is called immediately after onCreate</a></p>
  
  <p>I noticed that onPause was called, so I will find my answer there!</p>
  
  <p>Nevertheless, the answer from Abraham Philip was an important piece of the puzzle!</p>