如何在android中屏幕唤醒锁定时通过音量按钮打开闪光灯?

时间:2015-10-28 07:45:21

标签: java android android-fragments

大家好我正在开发一个应用程序,我想在手机处于唤醒锁定屏幕状态或显示屏关闭时通过音量按钮打开相机闪光灯。 我也是通过服务类和广播接收器做到这一点,但不是正确的输出。我想任何人都明白我的问题。是有人有解决方案所以请帮助我。感谢Advances。我正在使用此代码应用程序正常工作,但我想在唤醒锁定状态或显示关闭手机时执行此操作。

public boolean dispatchKeyEvent(KeyEvent event) {
    int action = event.getAction();
    int keyCode = event.getKeyCode();

        switch (keyCode) {
        case KeyEvent.KEYCODE_VOLUME_UP:
            if (action == KeyEvent.ACTION_DOWN) {
                count++;
                if(count==2){

                    Parameters p = camera.getParameters();
                    p.setFlashMode(Parameters.FLASH_MODE_TORCH);
                    camera.setParameters(p);
                    camera.startPreview();
                    isFlashOn = true;
                    count=0;
                    Log.e("error", "App is crashed here");  
                }

            }
           return  isFlashOn;
        case KeyEvent.KEYCODE_VOLUME_DOWN:
            if (action == KeyEvent.ACTION_DOWN) {
                counter--;
                if(counter==0){

                    Parameters p = camera.getParameters();
                    p.setFlashMode(Parameters.FLASH_MODE_OFF);
                    camera.setParameters(p);
                    camera.stopPreview();
                    isFlashOn = false;
                    counter=2;
                }

            }
            return isFlashOn = false ;
        default:
           return super.dispatchKeyEvent(event);
        }
    }

1 个答案:

答案 0 :(得分:0)

当屏幕关闭时,音量按钮仅在播放音乐时才有效,否则无法知道是否按下了它们。因此,当屏幕关闭时你可以播放一首无声的歌曲并使用你能找到的任何方法(onKeyDown,dispatchKeyEvent或使用广播接收器),但电池会消耗得更快。