Search code examples
androidlauncher

Android-programmatically bypass remove default lock screen


I've defined a default application as a launcher with a HOME intent so it always runs when I boot the device. But I still see the default lock screen(with clock) first when I power up.

Is there a way to remove the lock screen entirely when the device powers up?


Solution

  • Using following command you can disable the existing lockscreen of course if it doesn't contain any security(like patterns and pin code):

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

    you need also to declare permission in manifest:

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

    Than detect the user presence (clicking on Power Button):

    <receiver android:name=".Receive">
        <intent-filter android:enabled="true" android:exported="false">
            <action android:name="android.intent.action.USER_PRESENT" />
        </intent-filter>
    </receiver>
    

    and start custom lockscreen Activity