Activity to be displayed even when phone is in locked mode

后端 未结 1 1807
清歌不尽
清歌不尽 2021-01-06 16:08

My Question is similar to this one How can I wake an android device up and skip the screenlock

I want to display a dialogue box from broadcast receiver, but Android

1条回答
  •  抹茶落季
    2021-01-06 16:50

    I don't succeed in achieving this feature by using these Flags, but I did succeed by using the WakeLock and KeyguardLock. Below is what I do:

    public class DismissLock extends Activity {
    
    PowerManager pm;
    WakeLock wl;
    KeyguardManager km;
    KeyguardLock kl;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        Log.i("INFO", "onCreate() in DismissLock");
        pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
        km=(KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
        kl=km.newKeyguardLock("INFO");
        wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.ON_AFTER_RELEASE, "INFO");
        wl.acquire(); //wake up the screen
        kl.disableKeyguard();// dismiss the keyguard
    
        setContentView(R.layout.main);
    
    }
    
    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        wl.release(); //when the activiy pauses, we should realse the wakelock
    }
    
    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        wl.acquire();//must call this!
    }
    
    }
    

    Of course, you still need to declare the permission in the manifest file.

    
    
    

    0 讨论(0)
提交回复
热议问题