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.