0

I simply want to show an Activity in Lock Screen but because of this unknown or special permission called SHOW_ON_LOCK_SCREEN in MIUI, I can't make it work.

I've tried the following code but no luck.

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

public class FloatingWindow extends AppCompatActivity {

    PowerManager powerManager;
    PowerManager.WakeLock wakeLock;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

        //First Attempt
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
                WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
                WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|
                WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
        setContentView(R.layout.floating_window);

        //Second Attempt
        powerManager = (PowerManager) getSystemService(POWER_SERVICE);
        wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, String.valueOf(getApplicationContext()));
        wakeLock.acquire();

    }

    @Override
    public void onDestroy(){
        super.onDestroy();
        wakeLock.release();
    }
}

Here's a thing, It works on other android phone except MIUI. I've tried manually enabling SHOW_ON_LOCK_SCREEN and works.

What exactly is SHOW_ON_LOCK_SCREEN? I can't find it in Android documentation, How are we supposed to programatically enable it?

I noticed that some of my app successfully enable it without me having manually enable it.

Polar
  • 3,327
  • 4
  • 42
  • 77

0 Answers0