registerMediaButtonEventReceiver
全部标签 在寻找一种“最全面且兼容(即所有Android版本...)”的方式来收听音量变化时,我发现了两种不同的方法来处理此问题:registerMediaButtonEventReceiveronKeyDown+SettingsContentObserver哪种方法更可取?为什么?更新1:感谢下面的评论,我发现onKeyDown()实际上接管音量键,这可能不是一个完整的解决方案之一帖子提到音量可以通过硬件按钮以外的界面来改变(更不用说谷歌似乎正在逐渐取消那些“接管”功能)。OTOH,android.media.VOLUME_CHANGED_ACTION是一个hack和isn'tevendocu
在我的应用程序中,我需要处理物理按钮事件,例如音量按钮点击。为此,我正在使用audiomanager的registerMediaButtonEventReceiver方法。有一个article与我的情况相关,但我无法使其正常工作。这是我使用的代码:publicclassVolumeBroadcastActivityextendsActivity{/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanc
我设法得到了我的headsetbuttonsgetrecognized按下时由我的应用程序调用,但其中一个按钮需要调用MyCustomActivity中的方法。问题是onReceive的第一个参数是一个无法转换为Activity和使用MyCustomActivity的内部类的上下文won'tworkinAndroid4.1除非它是静态的(它具有无法访问MyCustomActivity的方法的相同问题。所以留给我的唯一选择(为了同时支持2.x和4.1)是将Activity作为参数传递给RemoteControlReceiver.但是当实例化它的唯一方法是通过以下方式时,我该怎么做:pri
我正在尝试接收物理按钮事件,例如手机侧面的音量按钮点击。我需要在服务中这样做,因为我想在用户随时单击音量增大/减小按钮时接收。我在网上看了很多,但我不能让它工作,也不知道哪里出了问题。这是我的代码:在list中:在服务OnStart()中:AudioManagermanager=(AudioManager)getSystemService(AUDIO_SERVICE);manager.registerMediaButtonEventReceiver(newComponentName(getPackageName(),clsMediaButtonReceiver.class.getNam