Android的BroadcastReceiver的音量键上下 [英] Android BroadCastReceiver for volume key up and down
本文介绍了Android的BroadcastReceiver的音量键上下的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果用户presses音量键上下是有可能发现它在我的广播接收器?我需要完整的code。
If a user presses volume key up or down is it possible to detect it in my broadcast receiver? I need the full code.
下面是我的意图过滤器
IntentFilter filter = new IntentFilter();
filter.addAction("android.media.VOLUME_CHANGED_ACTION");
和我的的onReceive
方法
public void onReceive(Context arg0, Intent intent) {
KeyEvent ke = (KeyEvent)intent.getExtras().get(Intent.EXTRA_KEY_EVENT);
if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) {
System.out.println("I got volume up event");
}else if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) {
System.out.println("I got volume key down event");
}
}
这给了我一个空的KeyEvent ......任何想法?
It gives me a null KeyEvent... any idea?
推荐答案
没有一个EXTRA_KEY_EVENT额外的意图。它有一个额外的android.media.EXTRA_VOLUME_STREAM_VALUE其中包含新卷。
The intent does not have an EXTRA_KEY_EVENT extra. It does have an extra android.media.EXTRA_VOLUME_STREAM_VALUE which contains the new volume.
int volume = (Integer)intent.getExtras().get("android.media.EXTRA_VOLUME_STREAM_VALUE");
如果您存储旧值,可以推断调高或调低音量是否pressed。
If you store the old value, you can infer whether volume up or down was pressed.
这篇关于Android的BroadcastReceiver的音量键上下的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文