Android:听电源按键

Android:听电源按键,第1张

概述我正在尝试按下电源按钮时听.最后,我希望在按两次电源按钮时运行一些代码,以检查屏幕是锁定还是解锁.我目前有这个:@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);getWindow()

我正在尝试按下电源按钮时听.最后,我希望在按两次电源按钮时运行一些代码,以检查屏幕是锁定还是解锁.我目前有这个:

  @OverrIDepublic voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.main);    getwindow().addFlags(WindowManager.LayoutParams.FLAG_disMISS_KEyguard);//prevent phone from being locked}@OverrIDe public boolean onKeyDown(int keyCode, KeyEvent event) {    switch (keyCode) {        case KeyEvent.KEYCODE_POWER:        {            Toast.makeText(getBaseContext(), "Power button pressed", Toast.LENGTH_LONG).show();            return true;        }        case KeyEvent.KEYCODE_MENU:            Toast.makeText(getBaseContext(), "Menu button pressed", Toast.LENGTH_LONG).show();            return true;    }    return super.onKeyDown(keyCode, event);}

该代码可以很好地为菜单keyevent干杯,但不会为电源键事件做任何事情.有任何想法吗?

解决方法:

虽然我无法捕获硬件密钥,但我最终还是能够通过使用广播接收器来猜测是否按下了电源键,该广播接收器监听屏幕是否已关闭或打开.我用了:

            if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {                    //do something             }            else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {                    //do something else            }

我能够更加确定按下电源按钮的计数会在几秒后超时.这样我就让用户按下电源按钮三次以确保正确的行为.

总结

以上是内存溢出为你收集整理的Android:听电源按键全部内容,希望文章能够帮你解决Android:听电源按键所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1115353.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存