音量按钮监听器即使屏幕关闭并锁定

时间:2012-10-02 05:33:08

标签: android service android-activity broadcastreceiver volume

  

可能重复:
  Listen to volume buttons in background service?

即使锁定的屏幕和显示器已关闭,我也希望收听应用程序中的音量键更改。服务一直运行的主要问题(在唤醒锁的帮助下)但我只能用我的方法读取音量变化。

如果我使用的是一直运行的服务(即使锁定屏幕并关闭显示屏)我也有问题。在this帖子的帮助下,它有广播接收器用于音量变化。

public BroadcastReceiver MediaButton_Receiver = new BroadcastReceiver(){
    @Override
    public void onReceive(Context context, Intent intent) {
        KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
        if (event == null) {
            return;
        }
        int action = event.getAction();
        if (action == KeyEvent.KEYCODE_VOLUME_DOWN) {
            Log.d(TAG,"VOLUME_DOWN Pressed");   
        }
    };
};

event在服务中始终为null。它仅在更改音量时调用。当屏幕关闭时,BroadcastReceiver也不起作用。

另一种方法是使用带有覆盖dispatchKeyEvent()的活动,但我的活动只运行了一点,我尝试了唤醒锁定,它没有帮助。我仍然不确定它是否适用于锁定的屏幕。我在互联网上搜索过但我找不到答案。

即使锁定并关闭屏幕,我是否可以创建一个按下音量按钮的活动?或者我能以某种方式使用该服务吗?

0 个答案:

没有答案