服务中的按键监听器

4

我对Android开发很新,并且已经进行了广泛的搜索,非常感谢任何帮助:)

我需要一个可以执行以下操作的应用程序:

一个以服务形式在后台运行的应用程序,它监听音量键(上/下)。在此事件上,会在前台显示一个活动。

[我能够从一个活动中完成这个任务,但是该活动必须位于前台,只有在按下音量按钮后才能获得toast提示。]

请帮帮我!!!

1个回答

0
你可以创建一个 BroadcastReceiver 来监听 android.intent.action.MEDIA_BUTTON,并注册一个 Intent 过滤器来监听它:
<receiver android:name=".RemoteControlReceiver">
    <intent-filter>
        <action android:name="android.intent.action.MEDIA_BUTTON" />
    </intent-filter>
</receiver>

然后在您的接收器中处理更改:

public class RemoteControlReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) {
            KeyEvent event = (KeyEvent)intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
            if (KeyEvent.KEYCODE_VOLUME_DOWN == event.getKeyCode()) {
                // Handle key press.
            }
        }
    }
}

请查看https://developer.android.com/training/managing-audio/volume-playback.html以获取更多信息(此代码来自该网站)。 < p > < em >编辑:修正KeyEvent键码常量


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接