我的应用程序中的所有活动开始时都有this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
,因此当用户按下音量增大或减小按钮时,他会控制媒体音量。
我的程序中有一个弹出窗口,当出现时,用户无法再控制音量。
查看类似的问题似乎设置onKeyup/down
个侦听器可能会干扰该过程 - 但我没有设置任何内容 - 我对弹出窗口的唯一监听器是setOnClickListeners
按钮和窗口setOnDismissListener
。
我该如何解决这个问题?
答案 0 :(得分:1)
您似乎必须在Dialog
对象上调用setOwnerActivity。
方法的文件:
设置拥有此对话框的Activity。使用示例:此对话框将使用活动的建议音量控制流。
虽然没有经过测试,但这应该可以解决问题。也可以使用setVolumeControlStream。
答案 1 :(得分:0)
我一直在用
创建弹出窗口my_popup_window = new PopupWindow(layout, x, y, true);
然后我将其更改为此...
my_popup_window = new PopupWindow(layout);
my_popup_window.setWidth(x);
my_popup_window.setHeight(y);
并且音量控制再次开始工作。我不明白为什么 - 但它奏效了。
答案 2 :(得分:0)
我这样做pop.setFocusable(false)
。它起作用了。
答案 3 :(得分:0)
//Declaration
PopupWindow mWindow;
...
//Constructor
mWindow = new PopupWindow(context);
...
//Prepare to Show
mWindow.setContentView();
mWindow.setBackgroundDrawable();
mWindow.setFocusable(false);
...
将 setFocusable 设置为 false 帮助我的活动再次捕获onKeyDown()
。