按钮单击事件不执行的问题

我在 activity 类中的 onCreate()方法中写入下面的代码

Button btn=(Button)findViewById(R.id.button1);
        btn.setOnClickListener(new View.OnClickListener()
        {
            public void onClick(View v) 
            {
                WindowManager.LayoutParams params = getWindow().getAttributes();
                params.screenBrightness = 0;
                getWindow().setAttributes(params);
                Toast.makeText(v.getContext(),"Button Clicked",Toast.LENGTH_LONG).show();
            }
        });
        btn.performClick();

但是按钮点击事件的动作没有发生,只有点击按钮,这个动作才执行。
我想使用上面的代码把屏幕锁上,但是 onCreate() 方法完全执行完后,屏幕才锁上。如何修改代码?

你可以试试在onCreate()方法中加入如下代码:

Looper.myQueue().addIdleHandler(new IdleHandler() {
        @Override
        public boolean queueIdle() {
            btn.performClick();
            return false;
        }
});