在 Android Marshmallow 中,是否可以通过编程方式使用 pattern/password 解锁锁屏?

Is there anyway to unlock lockscreen with pattern/password programmatically in Android Marshmallow?

与 TrueCaller 一样,在来电时。

当我接到来电时,即使我的 phone 处于锁定状态,TrueCaller 也会在拨号器应用程序上显示一个对话框。

仅 Android Marshmallow 中的问题。

我在 activity onCreate 方法中使用此代码:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD)

喜欢@Camilo Ortegón this question

在 onCreate 中,在 setContectView() 之前,添加以下行:

Window window = this.getWindow();
window.addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD);
window.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
window.addFlags(LayoutParams.FLAG_TURN_SCREEN_ON);

最后:

class MyActivity extends Activity{

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

        /***THE MAGIC***/
        Window window = this.getWindow();
        window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
        window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
        window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
        /*** ***/

        setContentView(R.layout.activity_layout);
     }
}