How to lock the screen of an android device
<p>I want to implement the screen lock functionality in my application, but currently I can't get it to work. I have an alertDialog which will request input from the user through the use of a couple buttons. If the user presses 'no' I want to lock the screen (indefinitely, not for a set amount of time). What is the best way to programmatically lock the screen? I have tried using the following but, although my dialog is dismissed, the screen never locks.</p>

<pre><code>KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE); 
                        KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
                        lock.reenableKeyguard();
</code></pre>

<p><strong>MyCode</strong></p>

<pre><code>import android.app.Activity;
import android.app.AlertDialog;
import android.app.KeyguardManager;
import android.app.KeyguardManager.KeyguardLock;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Window;

public class MyApp extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);


        startDialog();
    }



    private void startDialog() {

        AlertDialog.Builder myAlertDialog = new AlertDialog.Builder(this);

        myAlertDialog.setMessage("Do you want to exit the application?");
        myAlertDialog.setPositiveButton("Yes",
                new DialogInterface.OnClickListener() {

                    // do something when the button is clicked
                    public void onClick(DialogInterface arg0, int arg1) {
                        System.out.println("...yes button is clicked..");
                        arg0.dismiss();

                    }
                });

        myAlertDialog.setNegativeButton("NO",
                new DialogInterface.OnClickListener() {

                    // do something when the button is clicked
                    public void onClick(DialogInterface arg0, int arg1) {
                        System.out.println("...clicked no...");
                        arg0.dismiss();
                        KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE); 
                        KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
                        lock.reenableKeyguard();

                    }
                });
        AlertDialog alert = myAlertDialog.create();
        myAlertDialog.setCancelable(false);
        alert.setCancelable(false);
        alert.getWindow().setLayout(600, 400);

        myAlertDialog.show();
    }


}
</code></pre>

<p><strong>In Manifest</strong> add</p>

<pre><code>&lt;uses-permission android:name="android.permission.DISABLE_KEYGUARD"&gt;&lt;/uses-permission&gt;
</code></pre>

<p>Does anyone know what I am doing wrong?</p>
