Disable Screen Lock(Power) Button in Android

Khawar picture Khawar · May 30, 2012 · Viewed 14.4k times · Source

I want that when my application is running the power button (which upon pressing locks the screen & screen goes BLACK), should be disabled. So that the user cannot lock the screen.

I have noticed this thing in Samsung Galaxy S phone's Default Camera App. That's the same reason I am trying to do the same. I have also a Camera related App.

Answer

UdayaLakmal picture UdayaLakmal · May 30, 2012

try this one

int val=android.provider.Settings.System.getInt(getContentResolver(),
                                                                SCREEN_OFF_TIMEOUT);

                    android.provider.Settings.System.putInt(getContentResolver(),
                                                            SCREEN_OFF_TIMEOUT, -1);
                    Toast.makeText(this, "Disabled Screen Timeout", Toast.LENGTH_LONG).show();
                    SharedPreferences.Editor editor = settings.edit();
                    editor.putInt("ScreenTimeout",val);
                    editor.commit();
                }
            } catch(Throwable er) {
                Toast.makeText(this, "Error "+er.getMessage(), Toast.LENGTH_LONG).show();
            } 

that will set screen off

to disable key guard in android use

KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();

and use permition

<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>

to keep screen alive

 @Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }