我是 android 的新手,我广泛搜索了这个。任何帮助将非常感激:) 我需要一个执行以下操作的应用程序:
作为监听音量键(UP/Down)的服务在后台运行的应用程序。在这个事件中,一个 Activity 将显示在前台。
[我可以通过 Activity 执行此操作,但是该 Activity 必须在前台,并且只有在我按下音量按钮后我才会 toast 。]
请帮助!!!
最佳答案
您可以创建一个监听 android.intent.action.MEDIA_BUTTON
的 BroadcastReceiver 并注册一个 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了解更多信息(此代码取自那里)
编辑:固定 KeyEvent 键代码常量
关于android - 服务中的关键倾听者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19345705/