title: WakeLock not working
body: <p>I have a wake lock set up so that I can still hear the sound when the screen times out or I press the screen lock button. From what I can understand through reading online is that I only need a partial wake lock. Here is the code but it is not working. No logcat errors</p>
  
  <pre><code>package com.androidsleepmachine.gamble;
  
  import android.app.Activity;   
  import android.content.Context;
  import android.media.MediaPlayer;
  import android.os.Bundle;
  import android.os.Handler;
  import android.os.PowerManager;
  import android.view.KeyEvent;
  import android.view.View;
  import android.widget.ArrayAdapter;
  import android.widget.Button;
  import android.widget.Spinner;
  
  public class Ship extends Activity implements View.OnClickListener {
  public static final Integer[] TIME_IN_MINUTES = { 30, 45, 60, 180, 360 };
  public MediaPlayer mediaPlayer;
  public Handler handler = new Handler();
  public Button button2;
  public Spinner spinner2;
  private PowerManager.WakeLock wl;
  // Initialize the activity
  @Override
  public void onCreate(Bundle savedInstanceState) { 
      PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
      wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "sleeplock");
      super.onCreate(savedInstanceState);
  
      setContentView(R.layout.ship);
      button2 = (Button) findViewById(R.id.btn2);
      button2.setOnClickListener(this);
      spinner2 = (Spinner) findViewById(R.id.spinner2);
      ArrayAdapter&lt;Integer&gt; adapter = new ArrayAdapter&lt;Integer&gt;(this,  
  android.R.layout.simple_spinner_item, TIME_IN_MINUTES);
  
  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);          
      spinner2.setAdapter(adapter); 
  }
  
  // Play the sound and start the timer
  private void playSound(int resourceId) {
      // Cleanup any previous sound files
      cleanup();
      // Create a new media player instance and start it
      mediaPlayer = MediaPlayer.create(this, resourceId);
      mediaPlayer.start();
      // Create the timer to stop the sound after x number of milliseconds
      int selectedTime = TIME_IN_MINUTES[spinner2.getSelectedItemPosition()];
      handler.postDelayed(runnable, selectedTime * 60 * 1000);
  }
  
  // Handle button callback
  @Override
  public void onClick(View v) {
      switch (v.getId()) {
          case R.id.btn2:
              wl.acquire();
              playSound(R.raw.ocean_ship);
              break;
      }
  }
   protected void onStop()
    {
  
        cleanup();
        super.onStop();
    }
  // Stop the sound and cleanup the media player
  public void cleanup() {
      if (mediaPlayer != null) {
          mediaPlayer.stop();
          mediaPlayer.release();
          mediaPlayer = null;
           wl.release();
      }
      // Cancel any previously running tasks
      handler.removeCallbacks(runnable);
  }
  
  // Runnable task used by the handler to stop the sound
  public Runnable runnable = new Runnable() {
      public void run() {
          cleanup();
      }
  };
  }
  </code></pre>